我是watir的新手,并且(相信我)我尝试了所有可用于添加等待和断言的选项但是没有成功这样做。
以下是我正在尝试做的简要说明,并感谢您的帮助。
我的第3步和第4步失败,错误为element not found
。
如果我手动登录并且登录成功,我会在第二页顶部看到文本Hello,用户名,这就是我一直试图关闭的但没有取得任何成功。这可能是非常简单的事情,但由于我是新手,我无法弄明白。
以下是我尝试过的所有命令:
$b.button(:id, 'usernameLogfaceinButton').click
#$b.wait_until($b.text.include?("Hello"))
#($b.text.include?("Hello")).wait_until_present
#$b.text_field(:text, "Hello").wait_until_present
if $b.text.include? "Hello"
puts "Test Passed. Found the test string: Hello- Actual Results match Expected Results."
else
puts "Test Failed! Could not find: Hello"
end
页面上的HTML:
<body id="myAccounts" class="cardholderLayout ">
<div id="content">
<div id="navigationContainer">
<div id="headerNavigationMenu" class="innerContents">
<div class="logo"><img alt="xxx" src="/images/xxx.png?xxxxxxxx"></div>
<ul class="menu">
<li class="menuItem">
<a href="#" class="menuLink">Hello, Bob</a>
我希望有人可以帮助我或指出我正确的方向。
答案 0 :(得分:1)
尝试:
$b.link(:text => /^Hello/).wait_until_present
请注意:
$b.link
代替$b.text_field
。该方法需要匹配您要查找的元素类型。/^Hello/
,而不是"Hello"
。如果您传递一个字符串(即"Hello"
,则watir将查找文本完全匹配的元素。如果要进行部分文本匹配,则需要使用正则表达式表达式/^Hello/
表示要查找以“Hello”开头的文本。