Ребята вообщем такая история , покрыл тестами один сайт , было все замечательно , сделал так чтоб работало в два потока. Через день , я их запускаю опять , и получается так что пару тестов проходит и дальше ничего не происходит - ни ошибки ни действий. Или же шаг происходит но только спустя минут 5
Я запустил уже в один поток и через дебаг , и получается что тесты зависают на точке asserTrue.
Проблема в методе verifyElementIsPresent но странно что раньше ведь работало все нормально !
несколько раз проверял локаторы , все находит
public class BasePage {
public WebDriver driver;
public WebDriverWait wait;
public String PAGE_URL;
public String PAGE_TITLE;
public String eMail;
public BasePage(WebDriver driver) throws Exception {
this.driver = driver;
wait = new WebDriverWait(driver, 10);
}
public void loadPage() {
driver.get(getPageUrl());
Assert.assertEquals(driver.getTitle(), getPageTitle());
System.out.println(“Title is verified”);
}
public String getPageUrl() {
return PAGE_URL;
}
public String getPageTitle() {
return PAGE_TITLE;
}
public void clickOnElement(WebElement element) {
wait.until(ExpectedConditions.visibilityOf(element));
element.click();
}
Ну начнем с того, что ассерты должны быть частью тестов, а не абстрактной пейджи.
Во-вторых, какой смысл ассертить элемент на isDisplayed в данном контексте? Вы вызвали wait.until, и если уж вы дошли до ассерта, это означает, что элемент итак displayed. 2 ассерта (не софт) подряд - тоже весьма странное решение в данном контексте, не говоря об их включении в try блок. В общем, архитектурно ваш подход в корне неверен. Начните с рефаторинга.
Я думаю может еще проблема в том что на сайт поставили поп-ап , который всплывает при первой загрузки страницы , но он как бы не мешает на сколько я понял
Не могли ли мне посоветовать ресурс , где бы я мог разобраться в грамотном составлении архитектуры ?
Проблема не прошла , я подозреваю что дело в драйвере но что именно не могу понять
На хроме работает все достаточно быстро , ставлю фаерфокс и буквально на втором тесте безумно медленная скорость выполнения тестов.