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

Я новичок в тестировании автоматизации 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 ответа

Решение

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

@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 во время выполнения, чтобы увидеть особенности того, с чем вам нужно взаимодействовать, если это не сработает.

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

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

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

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

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

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

Другие вопросы по тегам