if (browser.equals("chrome")) { System.setProperty("webdriver.chrome.driver", "C:\\driver\\chromedriver.exe"); driver = new ChromeDriver(); } else if (browser.equals("edge")) { System.setProperty("webdriver.ie.driver", "C:\\driver\\msedgedriver.exe"); driver = new EdgeDriver(); }
вынести в отдельный метод, который будет возвращать объект WebDriver. Должно получиться как то так:
private WebDriver getDriver(String browserName){
//тут ваш код, возвращающий ChromeDriver, EdgeDriver или FirefoxDriver (return new ChromeDriver();)
}
Подобно аннотации @AfterMethod существует аннотация @BeforeMethod, попробуйте воспользоваться ей, подумайте что туда можно вынести (эта аннотация запускается перед каждым тестовым методом, с аннотацией @Test)
if (test.equals("-")) { WebElement alert = driver.findElement(By.xpath("//tl-alert[@text='Неверный логин или пароль.']")); Assert.assertTrue(alert.isDisplayed(), "Алерт о неправельном вводе логина или пароля не отобразился"); } else { String url = driver.getCurrentUrl(); Assert.assertEquals(url, "https://www.qatl.ru/secure/Extranet/#/Proxy/RoomTypeAvailability.aspx", "Вход неосуществлен"); }
вынести в отдельный метод, принимающий переменную test и driver
Названия классов всегда с большой буквы
public class loginPage {
Методы с ассертами нужно оставить на уровне теста, непосредственно к странице они не относятся (errorMessages(String test), checkLanguage(String text)).Т.е. надо вынести их из PAgeObject класса в класс теста
ChooseLanguage(number), методы в Java пишутся с маленькой буквы (lowerCamelCase, а названия классов с большой)
if (browser.equals("chrome")) { System.setProperty("webdriver.chrome.driver", "C:\\driver\\chromedriver.exe"); driver = new ChromeDriver(); } else if (browser.equals("edge")) { System.setProperty("webdriver.ie.driver", "C:\\driver\\msedgedriver.exe"); driver = new EdgeDriver(); }
вынести в отдельный метод, который будет возвращать объект WebDriver. Должно получиться как то так: private WebDriver getDriver(String browserName){ //тут ваш код, возвращающий ChromeDriver, EdgeDriver или FirefoxDriver (return new ChromeDriver();) }if (test.equals("-")) { WebElement alert = driver.findElement(By.xpath("//tl-alert[@text='Неверный логин или пароль.']")); Assert.assertTrue(alert.isDisplayed(), "Алерт о неправельном вводе логина или пароля не отобразился"); } else { String url = driver.getCurrentUrl(); Assert.assertEquals(url, "https://www.qatl.ru/secure/Extranet/#/Proxy/RoomTypeAvailability.aspx", "Вход неосуществлен"); }
вынести в отдельный метод, принимающий переменную test и driver