如何处理页面加载场景,其中页面加载图标随机显示?

时间:2018-03-09 13:47:17

标签: robotframework

我点击了网页中的编辑按钮并验证了页面加载符号,该符号不会一直显示。加载页面后,加载符号将消失,我的下一个屏幕将显示“提交”按钮。

在脚本工作之下,单击“编辑”按钮后显示页面加载符号。

Click Element     ${EditButton}
${Status}=    Run Keyword And Return Status    Element Should Be Visible    ${Loading_Icon}
Run Keyword If    '${Status}'=='True'     Wait Until Keyword Succeeds     20s     1s    Element Should Not Be Visible      ${Loading_Icon}
Click Element    ${SubmitButton}

单击“编辑”按钮后未显示页面加载符号时,我的脚本会等待大约15-20秒,然后单击“提交”按钮。但是,当没有显示加载图标时,它应该立即单击“提交”按钮。

当我检查日志时,下面的行需要16秒才能执行:

 ${Status}=    Run Keyword And Return Status    Element Should Be Visible    ${Loading_Icon}

为什么需要16秒?类似的等待相关脚本,增加了整体自动化测试执行时间。

如何克服它?是否有任何替代方法来处理此页面加载方案,其中加载图标随机显示。

2 个答案:

答案 0 :(得分:0)

不要等待加载动画消失,而是尝试等待提交按钮出现。像这样:

Click Element     ${EditButton}
Wait Until Page Contains Element    ${SubmitButton}    20s
Click Element    ${SubmitButton}

希望这有帮助! :)

答案 1 :(得分:0)

 ${Status}=    Run Keyword And Return Status    Element Should Be Visible    ${Loading_Icon}

在上述声明中,等待时间的原因是由于默认超时(即)15秒。您可以通过在此行之前添加隐式wait关键字来更改它,如下所示

${Orig_Wait}=    Set Selenium Implicit Wait    3 seconds
${Status}=    Run Keyword And Return Status    Element Should Be Visible    ${Loading_Icon}
Set Selenium Implicit Wait    ${Orig_Wait}

以上脚本执行以下操作:

将隐式等待时间设置为3秒。现在,加载图标的状态将在3秒内返回,而不是15秒。然后,它会恢复默认超时