[编辑为godman]我正在开发一个基于Web的应用程序,用PHP编写。我正在使用Selenium RC通过浏览器对此应用程序生成的网页进行测试。
我刚刚升级到Firefox 14,所以我不得不升级到Selenium RC 2.25.0。
现在我在使用htmlSuite运行测试时看到了这个错误:
命令执行失败。请搜索用户组 https://groups.google.com/forum/#!forum/selenium-users表示错误 日志窗口中的详细信息。错误消息是:t.replace不是a 功能
执行的命令是:
clickAndWait //a[text()='! selenium test customer']
正如您所看到的,它没有做任何太棘手的事情 - 只需点击链接即可。测试在IDE中运行良好,只是在通过RC运行时才会出现问题。
在小组中搜索只显示了可追溯到硒版本1的旧线程。 任何人的想法?
[编辑]上周我一直在运行几天有几次这些问题的测试 - 而且每次都没有像这样失败。这看起来像是一个随机问题。有没有人见过这种情况?
[在赏金之后编辑得不到答案]另一个失败的例子是:
clickAndWait css=a.edit_company
同一个调用在同一个测试中,在同一页面上工作正常。
[edit]现在我看到一个完全独立的命令出现了同样的错误:
type id=Address1 Address1
有人对此有任何建议吗?我可以用任何方式调试正在发生的事情(我根本没有在IDE中看到这一点)
答案 0 :(得分:0)
我对clickAndWait并不十分熟悉。我个人更喜欢点击然后自己做自定义等待。
尝试只需单击并添加Thread.Sleep(5000)或类似内容,然后查看错误是否是单击或等待部分的结果。
如果是等待部分,那么我的建议与点击部分不同。
答案 1 :(得分:0)
我在不同平台上看到过类似的问题。它对我来说一直是随机的,所以我不使用clickandWait。一般来说,进行单击,然后等待特定条件更可靠。你可以做一个waitforpageload,但这对我来说也是不可靠的,所以我更喜欢waitfortextpresent和waitforelementpresent等。
答案 2 :(得分:-2)
通常,如果您处理的是非字符串的内容,则会发生此类错误。你能确定你只处理字符串吗?
它产生的两种可能性: -