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

Фотография

Подскажите по написанию Автоматических тестов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1 wafe

wafe

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 июля 2015 - 08:48

Добрий день!  Начанию учится писать автоматические тесты Selenium WebDriver + Java + Page Objects Pattern. Есть тест кейс который нужно покрыть автоматикой. Нужна консультация ваша , как это правильно сделать. Зарание всем спасибо)

Итак. 

На странице нужно сделать.

  • Посчитать количество объектов с class="article-widget" внутри <div id="news_container"> и сохранить его
  • Проскроллить вниз до конца страницы и подождать
  • Посчитать количество объектов с class="article-widget" внутри <div id="news_container"> и убедиться, что оно увеличилось по сравнению с прошлым

Проскролить страницу в низ можно с помощью javascript , вроде как реализовал , скролить страницу, правда как то странно.


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 10 июля 2015 - 10:55

В чём Ваш вопрос ?
 

 

"Посчитать количество объектов с class="article-widget" внутри <div id="news_container"> и сохранить его"

 

List<WebElement> fObj= driver.findElementS(By.xpath("XXXX"));

Найти количество элементов в коллекции fObj.size()

 

 

Проскроллить вниз до конца страницы и подождать

 

 

Ждать что ?

Скролл делается через executeScript("arguments[0].scrollIntoView();"тут ваш веб-элемент в конце страницы - привяжитесь, например, к футеру");

 

Посчитать количество объектов с class="article-widget" внутри <div id="news_container"> и убедиться, что оно увеличилось по сравнению с прошлым

 

 

Аналогично с шагом 1, новый лист и находите разницу между size


  • 0

#3 Tishka

Tishka

    Постоянный участник

  • Members
  • PipPipPip
  • 211 сообщений
  • ФИО:Ахрамеев Антон

Отправлено 10 июля 2015 - 11:03

List<WebElement> items = driver.findElements(By.xpath("//*[@class = 'article-widget']"));  - считаем кол-во элементов

i = items.size(); - сохраняем в переменную класса

 

WebElement element = driver.findElement(By.xpath("Ваш локатор"));
((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true)", element); - скрол до нужного элемента
 
Непонятно зачем нужно ждать. Если нужно просто потупить, то Thread.sleep(3000); - будет просто тупить 3 секунды, а потом продолжит выполнение тестов
Лучше укажите чего нужно ждать, чтобы сделать ожидальщик.

  • 1

#4 wafe

wafe

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 июля 2015 - 14:04

Спасибо за советы, они помогли :))) Но столкнулся с другой проблемей

 

При заданном xpass = .//*[@class='article-widget clearfix js-news-list-ppp']  -- веделяет все подобные себе, показано на скриншоте. ::  (  https://screencloud.net/v/1j5N ) вот скриншоn  c Idea :: ( https://screencloud.net/v/qJF3 )

 

Если я менять по поиску на css,  он находит сразу все подобные их рано 10, их всего 10.   По сути class='article-widget clearfix js-news-list-ppp - отвечат за одну новость вот скриншот и его грязный путь ::: ( http://screencloud.net/v/1CCM ) . 
Мне то нужно подсчитать сколько он сначала увидел и потом сравнить с отсальным количеством? 


  • 0

#5 220v

220v

    Активный участник

  • Members
  • PipPip
  • 107 сообщений
  • ФИО:Олег


Отправлено 10 июля 2015 - 14:19

такое ощущение, что автор перегоняет вопросы/ответы через переводчик с иностранного на русский...мне одному так показалось что что-то здесь не так?.. (да простит меня автор темы)


  • 0

#6 wafe

wafe

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 июля 2015 - 14:25

да все норм!


  • 0

#7 wafe

wafe

    Новый участник

  • Members
  • Pip
  • 5 сообщений

Отправлено 10 июля 2015 - 15:02

Спасибо за помощь, тема закрыта)


  • 0

#8 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 10 июля 2015 - 18:00

Чтобы взять одну новость нужно в конце xpath добавить [i], где i - номер новости, например 1 для первой.

Либо уже работать с элементами массива, после получения всех новостей.


  • 0


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных