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

Фотография

ExpectedConditions Methods


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

#1 lokofc

lokofc

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

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 14 августа 2013 - 10:46

Добрый день!

Почему в списке прелагаемых методов для ожидания элементов присутсвуют не все из документации?


Мне нужны вот такие visibilityOfAllElements, visibilityOfAllElementsLocatedBy
(См. скриншот )

И сразу вдогонку вопрос, в описании сказано, что "An expectation for checking that all elements present on the web page that match the locator are visible" и больше ничего, откуда WebDriver может знать, что уже присутсвуют действительно все элементы с таким-то локатором? Не могу найти подробное описание метода, допустим если я задам x-path локатор "//tr", метод начнет опрос дом структуры поллингом до полной загрузки страницы что-ли?

Прикрепленные файлы

  • Прикрепленный файл  23.png   61,86К   36 Количество загрузок:

  • 0

#2 Keiga

Keiga

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

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 14 августа 2013 - 10:55

откуда WebDriver может знать, что уже присутсвуют действительно все элементы с таким-то локатором?

А никак. На момент вызова он найдет все элементы с указанным локатором на странице и проверит их видимость.
  • 0

#3 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 14 августа 2013 - 13:52

Почему в списке прелагаемых методов для ожидания элементов присутсвуют не все из документации?


Предлагаемых кем или чем?

Документация генерируется из кода, поэтому если метод есть в документации -- значит он есть и в коде.
https://code.google....itions.java#172
https://code.google....itions.java#143
  • 0
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#4 lokofc

lokofc

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

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 14 августа 2013 - 15:45


Почему в списке прелагаемых методов для ожидания элементов присутсвуют не все из документации?


Предлагаемых кем или чем?

Документация генерируется из кода, поэтому если метод есть в документации -- значит он есть и в коде.
https://code.google....itions.java#172
https://code.google....itions.java#143


Предлагаемых екслипсом после ExpectedConditions (на скрине в первом сообщении видно). Предлагает только 2 метода с visibility, еще два не распознает, как-будто они отсутствуют
  • 0

#5 barancev

barancev

    Администратор

  • Admin
  • PipPipPipPipPipPip
  • 6 872 сообщений
  • ФИО:Алексей Баранцев
  • Город:Россия, Москва


Отправлено 14 августа 2013 - 17:54

Проверяйте настройки Eclipse и проекта: http://screencast.com/t/Bjrh5rWPT7b
  • 1
Алексей Баранцев
Тренинги для тестировщиков (тестирование производительности, защищенности, тест-дизайн, автоматизация):
Линейка тренингов по Selenium

#6 lokofc

lokofc

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

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 15 августа 2013 - 08:24

Обновился до 2.35 - появились, спасибо.

Если метод visibilityOfAllElementsLocatedBy будет искать элементы, присутствующие только на момент вызова этого метода, то как поступать, если мне нужно ждать прогрузки всех строк таблицы(xpath локатор //tr, например)? Возможна ситуация, когда прогрузилось несколько строк, а нужная еще недоступна, но ожидание завершает свою работу из присутвия несокльких элементов //tr и в итоге будет ошибка вроде element not clickable at point при клике на не подгрузившуюся строку
  • 0

#7 Keiga

Keiga

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

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 15 августа 2013 - 08:27

Если метод visibilityOfAllElementsLocatedBy будет искать элементы, присутствующие только на момент вызова этого метода, то как поступать, если мне нужно ждать прогрузки всех строк таблицы(xpath локатор //tr, например)?

А как Вы сами определяете загрузилась таблица и все строки в ней или нет?
  • 0

#8 lokofc

lokofc

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

  • Members
  • PipPip
  • 78 сообщений
  • ФИО:Pavel

Отправлено 15 августа 2013 - 10:28


Если метод visibilityOfAllElementsLocatedBy будет искать элементы, присутствующие только на момент вызова этого метода, то как поступать, если мне нужно ждать прогрузки всех строк таблицы(xpath локатор //tr, например)?

А как Вы сами определяете загрузилась таблица и все строки в ней или нет?



Всмысле я сам? Я лично? Глазками, видно есть строка или нет. А метод visibility определяет только на момент его вызова, т е нужно вызывать его после уже полной загрузки таблицы, а загрузку самой таблицы я этим методом и проверяю, какая-то бессмысленная рекурсия))
  • 0

#9 Keiga

Keiga

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

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Евгений
  • Город:Москва


Отправлено 15 августа 2013 - 10:44

Всмысле я сам? Я лично? Глазками, видно есть строка или нет. А метод visibility определяет только на момент его вызова, т е нужно вызывать его после уже полной загрузки таблицы, а загрузку самой таблицы я этим методом и проверяю, какая-то бессмысленная рекурсия))

Критерий оценки степени загрузки при этом какой? Кол-во строк, наличию определенной строки, определенного содержания, прогрессбар? Как Вы определяете что вот это таблица загрузилась, а эта еще нет и надо подождать? Согласно этому и сформируйте условие, а потом уже делайте всё что Вам вздумается с содержимым.
  • 0

#10 tab15

tab15

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

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

Отправлено 15 августа 2013 - 11:30

Если не ошибаюсь, то WebDriverWait по дефолту вызывает ExpectedConditions каждых 500мс до тех пор пока ваш элемент не будет в данном случае visible.

или я однако вопрос не понял:)
  • 0


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

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