作者:Philipp Hancke(原文链接)
翻译:刘通
原标题:Cross Platform WebRTC Browser Testing: Chrome, Firefox, Edge & Safari
现在苹果已经将WebRTC加入了自家的Safari浏览器,那么是时候提出这个问题了:你应该怎么在不同的操作系统上测试4种WebRTC浏览器呢?使用Selenium Grid会出人意料的简单,现在来学学怎么用吧。
Webkit最近刚刚加入了WebRTC这个群,也就意味着我们现在需要测试5个主要浏览器:
# Chrome,任何操作系统
# Firefox,任何操作系统
# Microsoft Edge,Windows10系统
# Safari,OSX系统
几天之前我们还可以在同一个操作系统上测试所有的WebRTC浏览器(Chrome,Firefox和Edge浏览器都可以在Windows 10系统上运行)。但是现在Safari也加入了,一个操作系统就不满足了。听上去好像是个大问题?然而并不是。
这种测试通常都可以用Selenium远程遥控浏览器来完成。如果浏览器已经处在远程遥控的状态下,那么测试就可以通过Selenium的网格功能来完成,而这个过程出人意料的简单。
比如说,我们现在想要在Windows电脑上面测试Edge和Safari浏览器。第一步是下载Selenium单独的jar文件。我用的还是3.3.1版本。之后,通过运行下列代码在电脑上设定一个Selenium网格hub:
这会建立一个hub,你需要将你的Selenium节点连接到这个hub。它会告诉你你需要将节点连到的URL。
接下来,在你的OSX电脑上运行下列代码来开启一个节点:
这会在你的Safari实例上建立一个节点。
现在,你需要建立运行Selenium的代码,让其完成这两件事情:
# 像这个链接里一样使用Safari浏览器
# 让其使用这里所展示的hub
接下来运行你的测试代码。如果它立刻就能运行,那么没问题。如果不能立刻运行,你就可能需要花费一些时间来解决问题。最常见的问题是忘了加入hub创建路径中各自的WebDriver库。