在为webapp(基于playframework)编写验收测试时,我对一些selenium命令的使用感到困惑。
click/clickAndWait在浏览器中使用此命令运行时效果良好。
play run
使用此命令在命令提示符(无头浏览器)中运行时失败。
play auto-test
我尝试了一些命令之前点击像暂停,waitForElementPresent,waitForPageToLoad
我的代码按钮是:
<button class="btn btn-green" name="Next">
Next
<i class=" icon-chevron-right"></i>
</button>
我使用了以下的命令
click('name=Next') or `clickAndWait('name=Next')`
or click('css=button[name="Next"]')
click('//button[@name='Next']')
这些命令可以在浏览器模式下工作,但如果在自动测试模式下运行,将失败。
错误我得到:为clickAndWait命令Timed out after 30000ms
对于点击命令,它在下一步assertTitle
为下一页失败。如实际值仍为旧页
谢谢你的帮助。
只需为您的按钮分配一个id,如<button class="btn btn-green" name="Next" id="next-button">
,并使用它clickAndWait('next-button')
。
老回答:
在HTML标记中,名称是"next",只有小写字母,而在selenese代码中,"next"以大写字母开头。所以这些是不同的值,测试不起作用。请将"Next"改为"Next"