我正在使用Arquillian Drone + Graphene(独立)在另一台计算机上托管的Selenium Grid 2.0上驱动自动浏览器测试。测试通过Arquillian在客户端模式下运行(要测试的服务器已经在运行)
我的一些测试要求一次使用两个浏览器,因此根据Graphene文档,我添加了第二个浏览器。到目前为止,一切正常。
问题:运行一个同时注入了两个浏览器的测试,在运行该类的任何测试之前,这两个浏览器都已启动。由于使用第二个浏览器之前可能需要进行一些测试,因此它很可能已经超时。当然,我可以将Selenium Grid Settings设置为永不(或很晚)通过超时关闭浏览器,但这不是解决方案。
有没有办法检查WebDriver是否仍在启动并通过Drone重新启动?
没有无人机,我只是可以检查驱动程序是否退出(例如这样)并创建一个新实例。但是我想让它通过无人机注入。
在最佳情况下,我希望能够定义Drone何时打开浏览器,甚至更好地保持打开状态,直到测试完成。如果那不可能,那么重新启动它的方式就足够了。
我通过直接将WebDriver注入测试方法解决了问题。
public void test(@Drone @Browser2 WebDriver webdriver){...}
我仍然不完全满意此解决方案,但它确实有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句