我点击了网页中的编辑按钮并验证了页面加载符号,该符号不会一直显示。加载页面后,加载符号将消失,我的下一个屏幕将显示“提交”按钮。
在脚本工作之下,单击“编辑”按钮后显示页面加载符号。
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秒?类似的等待相关脚本,增加了整体自动化测试执行时间。
如何克服它?是否有任何替代方法来处理此页面加载方案,其中加载图标随机显示。
答案 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秒。然后,它会恢复默认超时