1

在为 webapp(基于 playframework)编写一些验收测试时,我对一些 selenium 命令的使用感到困惑。

当我使用此命令在浏览器中运行时,click/clickAndWait 运行良好。

play run 

当我使用此命令在命令提示符(无头浏览器)中运行时失败。

play auto-test 

我在单击之前尝试了一些命令,例如 pause、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 命令Timed out after 30000ms ,它在下一页的下一步中失败assertTitle。由于实际值仍然是旧页面。

谢谢你的帮助。

4

1 回答 1

0

只需为您的按钮分配一个 id<button class="btn btn-green" name="Next" id="next-button">并使用它clickAndWait('next-button')

老答案:

在您的 HTML 标记中,名称是“next”,只有小写字母,在您的 selenese 代码中,“Next”以大写字母开头。所以这些是不同的值,测试无法工作。请将“下一步”更改为“下一步”。

于 2013-01-10T22:39:59.017 回答