Robot Framework Selenium Go To 关键字被浏览器弹出窗口阻止

Robot Framework Selenium Go To Keyword blocked by browser popup

我正在尝试使用“转到关键字”导航至某个页面。 当您导航到此页面时,会出现一个浏览器弹出窗口,您需要使用它来登录。

我遇到的问题是此弹出窗口阻止 Robot Framework 识别“转到关键字”已完成。我的测试用例中有尝试使用此弹出窗口登录的步骤,但它们从未执行过,因为它只是卡在了转到关键字上。

我尝试的一种解决方法是将转到关键字放在一个单独的用户创建的关键字中,超时为 2 秒,然后 运行 测试用例中的该关键字以 运行 关键字开头and continue on failure 关键字。但由于某种原因,弹出窗口甚至会阻止此超时触发,并且在我手动关闭弹出窗口之前它仍然会卡住。

有人知道解决这个问题的方法吗?

原来是单点登录问题。 我用一个有趣的帐户登录到网站环境,当打开这个页面时,信息是从不同的域检索的。 通常,当您使用公司帐户登录时,此信息用于访问第二个域。 但是由于该域中不存在我的有趣帐户,因此失败并出现了弹出窗口。因为弹出窗口是 Windows 元素而不是 Chrome 元素,Selenium 无法处理它。

我们讨论了一个可能的解决方案,最好的方法似乎是使用 AutoItLibrary 并使用 RunAs 关键字以具有第二个域凭据的用户身份启动 Chrome。 我没有完全充实这个方法,因为它与我们想要执行自动测试套件的方式存在不兼容问题。但我想把它放在这里供遇到此问题的其他人参考。