Я пытаюсь настроить тестовый набор веб-приложений с использованием Selenium и Java. Я собираюсь создать 3 пакет под ЦСИВызов webdriver из другого пакета
- объекты - используемые для моей страницы объекты
- задачи - используются для тестирования методов
- тестов - используется для испытаний
В разделе Задачи, которые я создал класс CommonTasks, который используется для хранения методов, созданных для тестирования. Вот несколько примеров.
protected void verifyNumberOfElements(By selector, int expectedsize){
int size = driver.findElements(selector).size();
log.info("INFO: Verifying the number of elements is "+expectedsize+"");
Assert.assertEquals(size, expectedsize);
log.info("PASS: The number of elements returned was "+expectedsize+" ");
}
public static void verifyText(By selector, String expectedtext){
//verify that the expected text is present
String actualtext = driver.findElement(selector).getText();
Assert.assertEquals(actualtext, expectedtext);
log.info("PASS: "+expectedtext+" was present and verified");
}
protected void verifyElement(By selector){
//Verify that a certain selector is present in the page
smartSleep(selector);
boolean isPresent = driver.findElements(selector).size() > 0;
Assert.assertEquals(isPresent, true);
log.info("PASS: Element was found");
boolean notPresent = driver.findElements(selector).size() > 0;
Assert.assertEquals(notPresent, false);
log.info("FAIL: Element was NOT found");
}
В пакете «Тесты» я создаю класс ABC для тестирования функции ABC. У меня есть некоторые основные шаги, как ниже
verifyText(PageObjects.ItemText, "Multiple Choice - Single Answer Radio - Vertical");
verifyText(PageObjects.Progress_PercentComplete, "0%");
Проблема, которую я имею, я не знаю, где для создания WebDriver. Я хочу иметь возможность создавать множество тестовых классов и вызывать любой метод, созданный в пакете «Задачи». Я знаю, что мне нужно импортировать класс из Tasks, но не могу определить часть создания webdriver. Оба пакета «Задачи» и «Тест» будут ссылаться на драйвер, поэтому как мне это сделать? Нужно ли его создавать в Tasks.CommonTasks или Tests.ABC?
Мне также понадобится тест для подключения к SauceLabs вместо моей локальной машины.