Перейти к содержимому

Lace

Регистрация: 05 дек 2012
Offline Активность: 23 сен 2014 12:04
-----

Мои сообщения

В теме: thucydides: как правильно декомпозировать?

21 ноября 2013 - 09:45

Я работаю с Thucydides более полугода
по поводу логина, скажу из своего опыта
Сначала логин у меня был одним шагом, а потом разбила каждый этап на отдельный шаг - так удобнее.
ШАги относятся не к действиям (пользователя), а страницам - так меньше путаницы
Т.е. Тест логина
loginPageSteps.EnterLogin("login"); 
loginPageSteps.EnterPassWord("pass");
loginPageSteps.ClickOkButton();
firstPageSteps.AssertFirstPage();

далее
в классе LoginPageSteps
@Step
public void EnterLogin(String login)
getCurrentPage.EnterLogin(login)
получается масло масленное, но степы нужны для отчетов плюс помогают структурировать весь проект более отчетливо

и наконец в классе LoginPage
public void EnterLogin(String login)
assertTrue(element(loginField).isPresent();
loginField.type(login); 


Все ассерты у меня ушли в конкретные методы для каждой страницы page object

Чем более "мелкие" шаги (клик на кнопку - отдельный шаг @Step) - тем проще его затем переиспользовать

Story они же requirements я вообще не пишу - так и не поняла зачем она вообще нужна и какие цели преследует.

В теме: Selenium2+Thucydides+Java. Тестирование результата поиска = переход ку

19 ноября 2013 - 12:45

Я бы рекомендовал вам сделать два поиска:


Спасибо!
Сделала по вашему совету локальные поиски по разным критериям, и поставила ассерт, что список не возвращается пустым:
public void checkForSearchedCriteria(String criteria) 
List<WebElement>searchedInst = getDriver().findElements(By.xpath(".//*[@id='table']/li[contains(text(),'" + criteria + "')]")); // критерии поиска передаю уровнями выше
        assertTrue(searchedInst.size() > 0);

В теме: Selenium2+Thucydides+Java. Тестирование результата поиска = переход ку

19 ноября 2013 - 11:05

Дайте, пожалуйста, скрин (можно только необходимый кусок) и HTML-код заскриненного куска + 2 тэга по иерархии вверх.


К сожалению, ни того, ни другого сделать не имею права.

В теме: Selenium + Thucydides + Java: драйвер не видит "скрытые" элеме

11 октября 2013 - 10:15

Видимо в новой версии Selenium поменялся алгоритм определения видимости элемента.

Попробуйте делать клик с использованием JavaScript:

WebElement element = getDriver().findElement(By.xpath("//*[@id='bank']/li["+randomChose+"]/span"));
getDriver().executeScript("arguments[0].click();", element);


Спасибо!!! Добавила клик с использованием JavaScript и все заработало!

В теме: Selenium + Thucydides + Java: драйвер не видит "скрытые" элеме

11 октября 2013 - 07:39

Или добавьте перед кликом прокрутку до этого элемента, раз оно автоматом не крутит до него.


Прокрутку добавляла, но там похоже что-то разработчики "накрутили" с окнами, потому что тест считает, что там нечего прокручивать...