有些鼠标点击不在Selenium中注册

时间:2010-11-17 10:42:44

标签: selenium

我有一个相当Javascript密集的页面,其中包含许多通过AJAX或其他脚本生成的内容。在其中一些元素中,Selenium可以记录鼠标点击,而在其他元素上它会忽略它们。我没有发现任何相关性。也许有一些已知的常见场景,Selenium无法拦截鼠标点击?

5 个答案:

答案 0 :(得分:1)

不幸的是,Selenium中的所有点击都不相同。一些是mouseDown和MouseUp或其中的变体。我会玩弄你的应用程序。

不幸的是,Selenium IDE被误传了。它是一个录制/调整/播放工具,而不是录制/播放工具。

答案 1 :(得分:1)

没有不可靠的行动清单。根据我的经验,没有哪种元素可以运行的模式,但它在测试的执行过程中是一致的。如果您正在考虑它,使用定位器或UI-Elements不太可能改善您的结果。

我最近遇到过多个下拉菜单的情况,这些菜单都以相同的方式在多个不同的页面上实现。在某些页面上,下拉列表#2和#3不起作用,但在其他页面上它们可以工作,但下拉列表#1和#2不会。

正如已经指出的那样,最好的办法是停止将Selenium IDE视为记录回放工具。


在旁注中,您可能会因为类似的原因而提出这个问题,我希望将Selenium IDE用作没有Selenium编程经验的队友的前端来创建测试,然后有一件事我觉得有用的是扩展通过添加Command Builder来增加Selenium IDE,它允许您控制使用IDE时右键单击菜单中显示的内容。

这意味着您可以按记录,正常记录您的测试,同时密切关注记录的内容。一旦您看到Selenium IDE无法记录操作,您只需右键单击该元素,即可轻松获得您想要记录的操作。

不是原始问题的解决方案,但它帮助了我。在右键菜单中编写扩展名非常简单,this Selenium website.

上有一些非常好的例子

答案 2 :(得分:1)

我是100%的硒菜鸟,但我遇到了同样的问题并通过以下解决方法解决了这个问题:

  • 右键单击要点击的项目
  • 选择具有整个定位器文本的随机命令,例如assertText //div[2]/div[5]/table/tbody/tr[1]/td[1]/div IR或其他什么。查看“显示所有可用命令”。
  • 在Selenium IDE中,将命令更改为“click”并删除第二个参数(Value字段;如果有)

Hacky,应该可以通过右键菜单中的自定义命令轻松改进,但是现在这对我来说很好。

答案 3 :(得分:1)

您是否尝试了clickAt位置(0,0)?它有时会有所帮助

答案 4 :(得分:0)

如果您已为要单击的元素分配了ID,我建议您尝试使用简单脚本,您可以通过IDE执行此操作:

runScriptAndWait

jQuery("#yourButton").trigger('click');

我过去曾经使用过它,但效果很好。