机器人框架:为什么click元素命令并不总是有效

时间:2017-06-19 12:52:31

标签: robotframework

为什么我的关键字

Push
    [Arguments]    ${element}
    Wait Until Element Is Visible    ${element}
    Click Element    ${element}

并不总是有效?我有一个测试文件,我使用它大约50次。只有一个元素

<button id="x" ...>

总是与Push关键字一起使用。推送元素应该为屏幕生成额外的文本字段。也许每秒按钮x都能正常工作。当按下按钮x失败时,我可以在屏幕截图中看到按钮被挂起,但按下按钮没有产生额外的文本字段。错误消息是在页面中找不到元素y,并且在截图中元素y不在页面中。在错误情况下,测试等待元素20秒。

如何解决这个问题?或者我们的应用程序有错误?当我手动运行我们的应用程序时,功能永远不会出现问题。

关键字等到元素可见和等到元素可点击之间有什么区别?

我也试过Wait Until Element Is Clickable,并且测试并不总是有效(在页面中找不到元素y)。

1 个答案:

答案 0 :(得分:1)

此问题可能与某些事情有关,具体取决于页面的加载方式。我自己的工作提出了一些建议:

  1. 将硒速度设置为大约0.01s左右,看看它是否可以提高执行速度。我注意到,在chrome中,有时执行起来有些快,而且会导致测试不稳定。

  2. 如果您的页面包含JavaScript,则最好等到它们完成为止。为此,我使用了一个我们自己开发的库,该库扩展了我将在下面链接的seleniumLibrary。它还包括“ Wait for and Click ...”(等待并单击...)之类的关键字,从而使上面的脚本编写起来更加简洁。

https://github.com/Accruent/zoomba

请注意,它需要python 3,但是如果您回过头来,可以得到一个python 2版本,但不再进行维护。