Selenium webdriver 断言点击元素有效
Selenium webdriver Assert click element worked
我正在自动化一个网页,我在点击一个元素时遇到很多问题,所以我实现了这个
try {
element.click();
} catch (WebDriverException e) {
clickJS(element);
}
clickJS 是我使用 javascript 方法编写的一种单击方法,它通常有效,但是当要单击的表达式不会抛出任何异常时我遇到了问题,但将来会 steps 将失败,因为它什么也没做。有没有办法断言点击有 'worked' 即使它没有抛出任何异常。
ps: 我确定网络元素是可点击的
PS:我正在使用 chrome webdriver
没有确定点击是否成功的通用方法,因为点击几乎可以执行任何操作...导航到另一个页面、单击复选框、动态加载页面的另一部分等。
一般来说,如果您正在尝试自动化客户场景,我会说这不是正确的方法。例如,您尝试单击但没有预料到会弹出一些对话框。您的正常点击会引发异常,即另一个元素会收到点击,但您的 JS 点击会成功。您不应该希望点击成功,因为用户必须先处理对话框才能点击该元素。这可能会导致难以追踪的奇怪故障。每次单击 "normal"。当您 运行 脚本时,您会发现间歇性故障。调查他们并找到解决方案,例如等待一些对话框关闭,因为 10 次中有 1 次它关闭缓慢等等。最后,您将拥有一个更强大的套件。
您可以在某些情况下检查您的点击是否实际发生。
例如:大多数情况下点击会导致 UI 发生一些变化,可能是 UI 变化,HTML 源代码变化或某些文本可能 change.if 之后没有任何变化你点击然后点击本身是没有用的。
解决方案:点击前拍一张快照,点击后拍一张快照,然后比较两张图片,如果发现有任何差异,则点击成功,否则不成功。
我正在自动化一个网页,我在点击一个元素时遇到很多问题,所以我实现了这个
try {
element.click();
} catch (WebDriverException e) {
clickJS(element);
}
clickJS 是我使用 javascript 方法编写的一种单击方法,它通常有效,但是当要单击的表达式不会抛出任何异常时我遇到了问题,但将来会 steps 将失败,因为它什么也没做。有没有办法断言点击有 'worked' 即使它没有抛出任何异常。 ps: 我确定网络元素是可点击的 PS:我正在使用 chrome webdriver
没有确定点击是否成功的通用方法,因为点击几乎可以执行任何操作...导航到另一个页面、单击复选框、动态加载页面的另一部分等。
一般来说,如果您正在尝试自动化客户场景,我会说这不是正确的方法。例如,您尝试单击但没有预料到会弹出一些对话框。您的正常点击会引发异常,即另一个元素会收到点击,但您的 JS 点击会成功。您不应该希望点击成功,因为用户必须先处理对话框才能点击该元素。这可能会导致难以追踪的奇怪故障。每次单击 "normal"。当您 运行 脚本时,您会发现间歇性故障。调查他们并找到解决方案,例如等待一些对话框关闭,因为 10 次中有 1 次它关闭缓慢等等。最后,您将拥有一个更强大的套件。
您可以在某些情况下检查您的点击是否实际发生。 例如:大多数情况下点击会导致 UI 发生一些变化,可能是 UI 变化,HTML 源代码变化或某些文本可能 change.if 之后没有任何变化你点击然后点击本身是没有用的。
解决方案:点击前拍一张快照,点击后拍一张快照,然后比较两张图片,如果发现有任何差异,则点击成功,否则不成功。