Совсем новичковский вопрос…
Для нормального прохождения тестов в IExplorer необходимо переназначить значение в PageObject
private long waitForTimeoutInMilliseconds = 5 * ONE_SECOND;
Как это сделать?
Все классы страниц у меня наследуются от MainPage. Я понимаю, что новое значение надо вставить где-то в конструктор, но не могу разобраться куда и как именно
public abstract class MainPage extends PageObject {
public MainPage (WebDriver driver) {
super(driver);
}
И правильно ли я понимаю, что если у меня в IE тесты валятся по таймауту (т.е. не находится нужный элемент на текущей странице или драйвер не дожидается пока загрузится следующая страница), то увеличение waitForTimeoutInMilliseconds мне должно помочь? В ФФ все эти же тесты проходят отлично.
Не получается изменить значение в PageObject. Насколько я понимаю, мне надо где-то переписать это значение в своем методе. И я не совсем понимаю как именно это сделать.
эта переменная приватная, и у вас не получится изменить ее значение напрямую из класса-наследника. Для этих целей есть публичный метод setWaitForTimeout(final long waitForTimeoutInMilliseconds), но как вам уже посоветовали выше, лучше подобного рода параметры задавать в конфигурационном файле.
Если я правильно понял вашу проблему, то в Thucydides есть параметр, который вам подойдет: webdriver.timeouts.implicitlywait (The Thucydides Reference Manual)
Я пока переопределила значение через метод setWaitForTimeout в MainPage, от которой у меня наследуются все остальные страницы.
Про конфигурацию я поняла, но так как с Thucydides я работаю одна и консультироваться мне кроме как на форуме и в офф-группе не с кем, я пока с ней не разбиралась, так как запускать тесты мне надо не все разом, а разобраться сначала с тэгированием и запуском тестов по тэгам… В общем, еще много с чем разбираться.