автоматизированное тестирование с помощью Watir (или WatiN или аналогичного): устранение неоднозначности в отдельных элементах - PullRequest
0 голосов
/ 18 декабря 2008

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

Пример:

Я пытаюсь выбрать третий «понедельник» из выбранного элемента управления

ie.select_list( :id , 'choose-day' ).set( '-monday' );

, где элемент управления select имеет своего рода "контурный" формат в самом элементе управления:

alice
-monday
-tuesday
bob
-monday
-tuesday
charlie
-monday
-tuesday

Учитывая, что текст идентичен (и я не знаю, какие значения параметров опережают время), есть ли способ закодировать тест таким образом, чтобы был выбран понедельник под Чарли?

Ответы [ 2 ]

3 голосов
/ 06 января 2009

В WatiN вы можете использовать поддержку нескольких атрибутов для соответствия элементу (я думал, что нечто подобное также доступно в Watir).

Опция option = ie.SelectList ("выбрать день"). Опции (Find.ByText ("- понедельник") && Find.ByIndex (2))

(индекс равен нулю, поэтому 2 даст третье совпадение (если есть)).

НТН, Йерун ван Менен Ведущий разработчик WatiN

2 голосов
/ 18 декабря 2008

Похоже, вы могли бы использовать element_by_xpath, чтобы найти нужный вариант, с чем-то вроде:

//select/option[text()='charlie']/following::option[text()='-monday']

тогда вы можете проверить атрибут значения этого параметра (не уверен, как это сделать в Watir) и выбрать его, используя:

ie.select_list( :id , 'choose-day' ).select_value( whatever_the_value_was );
...