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

Первый Онлайн ИНститут Тестировщиков
онлайн, начало 25 февраля
Тестирование REST API
онлайн, начало 25 февраля
Логи как инструмент тестировщика
онлайн, начало 25 февраля
Автоматизация функционального тестирования
онлайн, начало 22 февраля
Фотография

Ожидание обновления данных в таблице Selenium

Selenium Java testing

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

#1 rocket1989

rocket1989

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

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Деревянко Юрий

Отправлено 17 Август 2018 - 09:28

Добрый день!

 

Возникла проблема при решении следующей задачи: 

Открываю веб страницу на которой представлена таблица. Таблица содержит динамические данные .
Мне необходимо заполнить фильтры, нажать на кнопку Search. 
Данные в таблице обновятся и мне нужно выбрать первую строку и проверить ее. 

 

Сейчас после нажатия на кнопку Search  я использую команду ожидания: Thread.sleep(30000); 
время ожидания может быть разным: 0.5 - 30 секунд

Я прочитал что это плохая практика использовать Thread.sleep
 

Не могли бы вы предложить другой вариант ожидания? 

Спасибо


  • 0

#2 MissLeman

MissLeman

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

  • Members
  • PipPip
  • 141 сообщений


Отправлено 17 Август 2018 - 10:00

ну логично написать какую-то ждалку, ожидающую конца обновления. поищите на UI что-то, означающее окончание обновления. Может, у вас там что-то подкрашивается, или скрывается лоадинг, или на худой конец можно написать по логике "жди, покуда в таблице не станет 4 строки", если по вашим фильтрам должно получиться именно 4.


  • 0

#3 Noksa

Noksa

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

  • Members
  • PipPip
  • 117 сообщений
  • ФИО:Александр

Отправлено 17 Август 2018 - 12:40

Если вы знаете, что после фильтрации у вас появится определенный текст в первой строке, то можно использовать что-то типа такого:

DriverManager.Driver.Wait().Until(() =>
                    {
                        var rowData = _table.RowColumnsCells(w => w.RowNum == 1);
                        return rowData.Row.GetValue().Contains(expectedText);
                    });

В общем, вам надо написать функцию, которая будет постоянно искать элемент - первую строку в таблице. А потом смотреть на её текст, содержит ли она то, что вы ищете. 

Если содержит - значит фильтры применились и таблица обновилась. 


  • 0

#4 rocket1989

rocket1989

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

  • Members
  • Pip
  • 2 сообщений
  • ФИО:Деревянко Юрий

Отправлено 17 Август 2018 - 14:32

Спасибо) Попробую 


  • 0

#5 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 277 сообщений
  • ФИО:Роман

Отправлено 17 Август 2018 - 19:45

варианты когда вариант "ожидания первой строки после фильтрации" сработает неправильно, и тест запасится несмотря на то что фильтры работают неправильно:

1. фильтр вообще не работает, а первая строка в таблице и была которую мы ожидаем

2. фильтр вместо одной строки выдаст больше, причем искомую строку выдаст первой

 

как не зафейлить:

1. после применения фильтра ждать пока будет отображаться только одна строка, а вторая отображаться не будет

2. проверить что эта первая строка и есть искомая


  • 0

#6 Noksa

Noksa

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

  • Members
  • PipPip
  • 117 сообщений
  • ФИО:Александр

Отправлено 18 Август 2018 - 05:22

Это если надо фильтр проверить. :)
  • 0


Selenium 2.0: стартовый уровень
онлайн
Программирование на Java для тестировщиков
онлайн
Автоматизация функционального тестирования
онлайн
Selenium WebDriver: полное руководство
онлайн




Темы с аналогичным тегами Selenium, Java, testing

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

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

Яндекс.Метрика
Реклама на портале