Firewatir:Firewatir脚本,用于从下拉列表中选择项目

时间:2010-10-12 17:11:25

标签: watir 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。(:ID, “EXT-COMP-1005”)值=( “CA”)

@ browser.text_field。(:ID, “EXT-COMP-1005”)集( “CA”)

@ browser.text_field(:id =&gt;“ext-comp-1055”,:index =&gt; 5).set“CA”

如果你能指出我正确的方向,我真的很感激。

由于

2 个答案:

答案 0 :(得分:0)

你没有说出问题所在,这还不够:

  

这些都没有给我我的意思   寻找

这应该在文本字段中输入CA

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

如果要将文字输入错误的文字字段,请更改:id => "ext-comp-1005"

如果将文本输入正确的文本字段,但未显示状态列表,则可能需要触发一些javascript事件。看看How to find out which JavaScript events fired?问题。

答案 1 :(得分:0)

之前我遇到过类似的情况。在我的情况下,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

尝试在运行时打印出DIV的HTML,以查看无法与之交互的具体内容。