在没有专门的WebDriver实现的浏览器上运行Protractor?

5
我正在为一个AngularJS Web应用程序设置端到端测试。我想在一台带有非常罕见的基于WebKit的浏览器的设备上运行测试,该浏览器没有WebDriver实现。目前我们正在使用angular-scenario,它工作得很好,但由于它已经过时,使用Protractor会更具有未来性。
是否有WebDriver实现,实现了WebDriver接口的子集,适用于当前缺少专用WebDriver实现的浏览器?

你正在使用哪个基于 WebKit 的罕见浏览器? - kylewelsby
在这种情况下,它是专为机顶盒运行而设计的浏览器。 - David Pärsson
你能否通过外部脚本启动浏览器并在其中通过Karma运行单元测试?你可能需要为基于WebKit的浏览器创建一个驱动程序,以便暴露控制权来启动页面、点击元素或坐标并检查DOM。 - kylewelsby
是的,我们目前正在使用Karma在设备上运行我们的angular-scenario测试。 - David Pärsson
1个回答

1

由于您使用的基于WebKit的浏览器没有WebDriver,因此没有容易的方法。

使用Protractor控制浏览器比使用angular-scenario更为理想。理论上,angular-scenario是控制并断言iFrame上的WebSocket连接,当来宾源不想在iFrame中出现时,以及其他通常不会出现的异常时,这种情况开始失效,从而产生误报。

由于WebKit版本的详细信息尚未发布,因此我只能提供一些我接下来要尝试的建议。

您只有几个选择:

  1. 询问浏览器开发人员指向Selenium WebDriver实施的位置。
  2. 构建自己的WebDriver扩展程序,通过WebSocket进行通信,参考SafariDriver
  3. 坚持使用angular-scenario或类似版本。

祝您的项目好运。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接