Selenium webdriver断言点击元素工作

时间:2016-12-06 12:46:13

标签: selenium selenium-webdriver automated-tests bdd selenium-chromedriver

我正在自动化网页,我在点击元素时遇到很多问题,所以我实现了这个

Textfield.render Mdl [0] model.mdl
  [ Material.Options.attribute <| Html.Attributes.id "my-id"
  ]

clickJS是我用javascript方法编写的一个方法,它通常有效,但是当点击表达式没有抛出任何异常时我遇到了问题,但是将来的步骤会失败,因为它什么也没做。有没有办法断言一个点击“工作”,即使它没有抛出任何异常。 ps:我确定webelement是可点击的 PS:我正在使用chrome webdriver

2 个答案:

答案 0 :(得分:0)

没有通用的方法来确定点击是否成功,因为点击可以做任何事情......导航到另一个页面,点击一个复选框,动态加载页面的另一部分等等。

一般来说,如果您尝试自动化客户方案,我会说这不是正确的方法。例如,您尝试点击但没有预料到会弹出一些对话框。您的正常点击会抛出一个异常,即另一个元素会收到点击,但您的JS点击会成功。您不应该希望该点击成功,因为用户无法在不首先处理对话框的情况下单击该元素。这可能会导致难以追踪的奇怪故障。做一个&#34;正常&#34;每次点击。运行脚本时,您会发现间歇性故障。调查它们并找到解决方案,例如等待一些对话框关闭,因为它会缓慢关闭1次10次,依此类推。最后,您将拥有一个更强大的套件。

答案 1 :(得分:0)

您可以在某些方案中检查您的点击是否确实发生过。 例如:大多数情况下,点击将导致UI中的某些更改,可能是UI更改,HTML源代码更改或某些文本可能会更改。如果点击后没有任何更改,则点击本身无效。

解决方案:在点击之前拍摄快照并在点击后拍摄快照,然后比较两个图像,如果你发现任何差异,那么你的点击成功,否则没有。