在为 webapp(基于 playframework)编写一些验收测试时,我对一些 selenium 命令的用法感到困惑。
当我使用此命令在浏览器中运行时,click/clickAndWait 运行良好。
play run
当我使用此命令在命令提示符( headless 浏览器)中运行时失败。
play auto-test
我在点击之前尝试了一些命令,比如暂停、waitForElementPresent、waitForPageToLoad
我的按钮代码是:
<button class="btn btn-green" name="Next">
Next
<i class=" icon-chevron-right"></i>
</button>
我使用了以下 selenese 命令
click('name=Next') or `clickAndWait('name=Next')`
or click('css=button[name="Next"]')
click('//button[@name='Next']')
这些命令在浏览器模式下有效,但如果我们在自动测试模式下运行,则会失败。
我得到的错误:
对于 clickAndWait 命令 30000ms 后超时
对于单击命令,它在下一页的下一步 assertTitle
中失败。由于实际值仍然是旧页面。
感谢您的帮助。
最佳答案
只需为您的按钮分配一个 ID,例如 <button class="btn btn-green" name="Next" id="next-button">
并使用它 clickAndWait('next-button')
.
旧答案:
在您的 HTML 标记中,名称是“next”,只有小写字母,而在您的 selenese 代码中,“Next”以大写字母开头。所以这些是不同的值,测试无法进行。请将“下一步”改为“下一步”。
关于testing - 在 Play Framework 自动测试模式( headless 浏览器)中使用时,click/clickAndWait selenese 命令失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14218320/