Firewatir: сценарии Firewatir для выбора элемента из выпадающего списка - PullRequest
0 голосов
/ 12 октября 2010

Я новичок в тестировании автоматизации Watir и хотел бы получить некоторую помощь по поводу раскрывающегося списка. На нашем веб-сайте есть раскрывающийся список состояний, в котором вы вводите первую букву штата (в моем примере C для штата Калифорния) сужает его до всех состояний, начинающихся с C. После того, как у вас есть список, вам нужно нажать на правильное состояние. Но у меня возникают трудности с выбором правильного состояния.

(ниже HTML с нашего сайта:


<div class="x-form-field-wrap x-trigger-wrap-focus" id="ext-gen202" style="width: 166px;">
<input type="hidden" id="entityStateCode" name="entityStateCode" value="">
<input type="text" id="ext-comp-1005" autocomplete="off" size="24" class=" x-form-text x-form-field x-form-focus">

Я использовал следующее для автоматизации сценария, но ни один из них не дает мне то, что я ищу:

@browser.text_field. (: Идентификатор, "внеш-комп-1005") = значение ( "CA")

@browser.text_field. (: Идентификатор "внутр-Комп-1005") установлен ( "CA")

@browser.text_field (: id => "ext-comp-1055",: index => 5) .set "CA"

Я действительно ценю это, если вы можете указать мне правильное направление.

Спасибо

Ответы [ 2 ]

0 голосов
/ 16 октября 2010

Я сталкивался с подобной ситуацией раньше. В моей ситуации внутри DIV была таблица TABLE, в которой для каждого элемента был выделен отдельный динамический выпадающий список. Так что, если это так, то вам нужно использовать что-то вроде этого для доступа к элементам:

@browser.text_field(:id,"ext-comp-1055").set "C"
table = @browser.div(:id, "ext-gen336").table(:index, 1)
puts "First entry value: #{table[1][1].text}"
table[2][1].click  # second entry

Попробуйте распечатать HTML для DIV во время выполнения, чтобы увидеть особенности того, с чем вам нужно взаимодействовать, если это не сработает.

0 голосов
/ 13 октября 2010

Вы не сказали, в чем проблема, этого недостаточно:

ничего из этого не дает мне то, что я есть ищу

Это должно ввести CA в текстовое поле:

browser.text_field(:id => "ext-comp-1005").set("CA")

Если текст вводится в неправильное текстовое поле, измените :id => "ext-comp-1005".

Если он вводит текст в правильное текстовое поле, но список состояний не появляется, вам, вероятно, придется запустить какое-то событие javascript. Взгляните на Как узнать, какие события JavaScript сработали? вопрос.

...