如何使用watir获取列表标签文本

时间:2015-01-30 11:06:56

标签: ruby watir-webdriver

我正在尝试使用WATIR自动测试Web应用程序。我有应用程序功能,但我在登录页面上苦苦挣扎,因为它要求两个问题来提供密码短语中的随机字符。

在下面的代码段中,这是请求字符8和1.

            <!--Deal with Passphrase Authentication-->
            <p>Enter the requested characters of your Passphrase below</p>
            <ul class="passphrase-list">
              <li>
                <label style="float:left; margin-right:10px;" for="PATHM_LTR1">Enter Letter 8</label>
                <input type="password" size="1" class="passphrase" maxlength="1" name="PATHM_LTR1" />
              </li>
              <li>
                <label style="float:left; margin-right:10px;" for="PATHM_LTR2">Enter Letter 1</label>
                <input type="password" size="1" class="passphrase" maxlength="1" name="PATHM_LTR2" />
              </li>
            </ul>

我希望能够解除标签文本,以确定在指定密码短语时使用哪个字符。文字的第一部分&#39;输入信件&#39;在所有情况下它都是相同的,它只是变化的数字。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

试试这个:

require 'watir-webdriver'

browser = Watir::Browser.new
browser.goto 'http://localhost:3000'
labels = browser.labels(text: /Enter Letter \d+/)

password = "AelloworlZ"

labels.each do |label|
  md = label.text.match(/\d+/)

  if md
    number = md[0].to_i 
    #puts number
    #puts password[number-1]
    browser.text_field(name: label.for).set(password[number-1])
  end
end