实习生.js:通过配置加载 Firefox/Safari 扩展



我正在使用Intern.js对浏览器扩展进行功能测试。 我已经能够使用此配置将chrome扩展程序预加载到浏览器中:

{
"capabilities": {
"selenium-version": "3.5.2"
},
"tunnel": "null",
"tunnelOptions": {
"host": "selenium.hostaddres.com:4444",
"port": "4444",
"path": "/wd/hub"
},
"environments": [
{ "browserName": "chrome",
"chromeOptions": {
"extensions": ["Q3IyNAMAAABFAgAAEqwECqYCMIIBIjANBgkqhkiG9w0BA+LXpUNZoDajG6ywIDAQABEoACNd+U4xNvCvtf7m........."
},
"browserTimeout": 10000 }
],
"reporters": ["pretty"],
"functionalSuites": ["dist/functional/tests/**/*.js"]
}

extensions属性是一个 base 64 编码的 crx(chrome 扩展名)文件。

我无法找到任何可以为Firefox或Safari提供类似配置的文档。 我知道有Selenium特定的方法来做到这一点,但理想情况下,我希望保持实习生的设置方式。任何有关示例工作配置的帮助将不胜感激。 谢谢!

Intern 实际上并不处理特定于浏览器的配置本身,它只是在创建会话时将您提供给它的选项直接传递给 Selenium。棘手的事情是弄清楚哪些选项可用于任何给定的浏览器。

对于 Firefox,您可能需要创建一个包含您感兴趣的扩展名的配置文件,然后告诉 Firefox 在测试期间使用该配置文件。

您过去必须对自定义配置文件进行压缩和 base64 编码(此处概述了基本过程),但现在如果在本地测试,您可能只需指向其在系统上的位置即可。此处介绍了相关的壁虎驱动程序选项。假设您使用的是压缩和 base64 编码的配置文件,您的配置可能如下所示:

"environments": {
"browserName": "firefox",
"moz:firefoxOptions": {
"profile": "UEsDBBQACAAIACynEk..."
}
}

最新更新