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

TryLala

Регистрация: 10 окт 2013
Offline Активность: 15 июн 2016 18:27
-----

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

В теме: Webdriver, ожидание элементов

31 мая 2016 - 10:47

Продолжаю дальше.
Похоже что я некорректно использую ожидание подгрузки элементов.
Выбор любого действия (авторизация, клик по ссылкам, итд) происходит без перезагрузки страницы.
Инициализацию пейджа я выполняю в базовом классе, от которого остальные пейджи наследуются:

public BasePage(WebDriver driver) throws InterruptedException
{
      ElementLocatorFactory page =  new AjaxElementLocatorFactory(driver, configTest.getWaitTime());
      PageFactory.initElements(page, this);
      
      this.driver = driver;
}
Но это не спасает.
После успешной авторизации я попадаю на страничку, на которой пытаюсь кликнуть по span элементу, но клик не выполняется. Визуально видно что тест выбрал нужный спан (он подсветился), однако клик не произошел. Опять таки, если я явно задам sleep хотя бы в 500 мс, то всё отработает нормально.
Никак не могу понять почему страница не может дождаться полной загрузки всех контролов. Каждый раз выставлять слип совсем не хочется.
 
Господа, очень прошу о помощи, ибо не понятно в какую сторону копать.
 
Спасибо большое!

 

Привет! Я сама тоже начинающая, но у меня честно говоря ошибок с таймаутом не возникало, то есть конкретного решения не предложу, но могу подсказать, что я бы проверила:

  • сложилось впечатление, что ты не совсем верно работаешь с локаторами, если приложение на ангуляре, почему не использовать ng-model или прочие локаторы, по которым поиск элементов быстрее xpath?
  • не совсем ясно: инициализируешь ожидание драйвера и потом используешь неявное ожидание для поиска элементов? не может быть путаницы в явнях и неявных ожиданиях? в первом случае ты выставляешь время инициализации экземпляра веб драйвера, а во втором явное ожидание для элементов? может это избыточно?
  • если решил использовать явное ожидание, попробуй использовать ExpectedConditions.presenceOfElementLocated , а не visibilityOfElementLocated
  • использовать sleep - по-моему вообще не выход

Спасибо за тему, в любом случае остаюсь следить. 


В теме: selenium IDE не могу вписать текст в поле

31 мая 2016 - 10:22

Ну как-то решить надо ...

Какие предложения ?

вам уже верно написали выше. 

Мой пример:

 

<tr>
<td>open</td>
<td>ВАШ УРЛ</td>
<td></td>
</tr>
<tr>
<td>type</td>
<td>id=search_field</td>
<td>test</td>
</tr>
<tr>
<td>click</td>
<td>css=input[type=&quot;submit&quot;]</td>
<td></td>
</tr>
 
Если не ориентируетесь, почему Вы не используете запись юзер-действий (рекординг)? По-моему, было бы удачнее с этого начинать

В теме: Тестовое задание по автоматизации, или постановка мозгов

28 мая 2016 - 21:18

Задание предусматривало реализацию теста через ui? Проверка почты через навигейт в браузере - дело неблагодарное, если, конечно, не тестируется веб-версия самой почты.

 

В задании есть две типичные для начинающих ошибки:

1) вердикт по тесту выносится при помощи try-catch, а нужно использовать assertions. 

2) принт в консоль вместо логирования.

Вот что будет, если тест запустят на каком-нибудь CI, как узнать о причинах падения теста?

 

На  SeleniumCamp доступна запись замечательного доклада "Типичные ошибки начинающих писать тесты на WebDriver". Люто рекомендую к ознакомлению.   

Уточнения не было и нельзя было задавать вопросы :) Тестируется именно веб, то есть вариантов не было. 

Логирование! Точно. Слабый код, в общем, это основная причина? Претендовала на мида с уклоном в автоматизацию (на текущем месте нет проектов для моего уровня для практики :( ), но я так понимаю, слабовато? 


В теме: Тестовое задание по автоматизации, или постановка мозгов

28 мая 2016 - 21:13

А что делает ваш тест и как он соотносится с тестовым заданием именно как тест? Да и код без комментариев, вроде написано немного, но он не чистый. Честно признаюсь - я может джаву уже подзабыл, но разве есть условие, при котором выполнится ексепшен? 

Доброй ночи! Задача стояла проверить, сколько в ящике входящих писем, как я понимаю, на само наличие.. В том ящике, по сайту что был указан, было 2 варианта: все входящие и входящие непрочитанные, то есть если они есть, по икспас (удобнее было ими) локатору находим элемент, указывающий количество писем. Но в жабе если по локатору ничего не найдено, летит ошибка, которую нужно обработать эксепшеном)


В теме: Тестовое задание по автоматизации, или постановка мозгов

28 мая 2016 - 15:54

М.б. код скинешь ?

https://www.dropbox....oject.zip?dl=0 
вот сюда залит весь проект архивом) ожидаю разбор полётов