尝试打开新的浏览器窗口时如何避免 Javascript 超时异常?

Posted

技术标签:

【中文标题】尝试打开新的浏览器窗口时如何避免 Javascript 超时异常?【英文标题】:How can avoid a Javascript Timeout Exception when trying to open new browser window? 【发布时间】:2020-04-25 21:44:53 【问题描述】:

我目前面临的问题是,当我在 linux 服务器上运行测试用例时,尝试使用 Robot Framework 打开新窗口时收到超时异常。

我只有在服务器上运行关键字时才会遇到这个问题。当试图在本地重现错误时,它几乎从未发生过。

关键字由以下步骤组成:

Execute javascript      window.open('')
Get Window Titles
Select Window           title=undefined

关键字在尝试运行“执行 Javascript window.open('')”时会失败。我收到的输出如下:

TimeoutException: Message: script timeout (Session info: headless chrome=79.0.3945.79)

我确实在同一个套件中运行的 3 个不同的测试用例中使用了这个关键字。

我查看了不同的论坛,但我真的找不到与这个相同的问题。

谁能帮帮我?谢谢!

【问题讨论】:

没有要测试的 Linux 机器。您是否尝试过在 Execute Javascript 语句中不使用引号:Execute Javascript window.open() 【参考方案1】:

您可以尝试使用Get Window Titles 重试:

Wait Until Keyword Succeeds 5x 1s Get Window Titles

这样,Robot 将重试关键字5 times,每次尝试之间的时间间隔为1s。如果这也失败了,则可能是其他问题。

【讨论】:

以上是关于尝试打开新的浏览器窗口时如何避免 Javascript 超时异常?的主要内容,如果未能解决你的问题,请参考以下文章

Angular Node - 在打开新的浏览器窗口时向服务器发送令牌

谷歌浏览器打开弹窗后出现奇怪的线条,如何避免?

如何让浏览器窗口显示在最前端?

在 GWT 应用程序中打开新的浏览器窗口被阻止

打开的上下文窗口阻塞接收鼠标事件,如何避免?

点击链接打开一个新的浏览器窗口