如何使用 watir 获取列表标签文本
How to get list label text using watir
我正在尝试使用 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>
我希望检索标签文本以确定在指定密码时使用哪个字符。文本的第一部分 'Enter Letter ' 在所有情况下都是相同的,只是数字发生了变化。
如有任何帮助,我们将不胜感激。
试试这个:
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
我正在尝试使用 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>
我希望检索标签文本以确定在指定密码时使用哪个字符。文本的第一部分 'Enter Letter ' 在所有情况下都是相同的,只是数字发生了变化。
如有任何帮助,我们将不胜感激。
试试这个:
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