实际上,由于缺乏关于如何进行的更大图片,我正在苦苦挣扎,情况如下:
我使用Chrome 60(beta)二进制文件运行量角器测试套件,在Windows环境中通过chrome选项提供二进制位置。
我想把它移植到可用的CI CD Jenkins实例(linux)并在那里运行无头。我可以想到两种方法:
方法1:
在jenkins中安装chrome插件,因此chrome可以由chrome驱动程序驱动< webdriver modules。所以我可以使用jenkins工作,如下所示:
npm install
npm run start
(来自脚本,运行webdriver-manager start)
npm run update
(来自脚本,运行webdriver-manager更新)
npm run test
(来自脚本,运行量角器protactor.conf.js)
方法2:像其他npm模块一样安装chrome作为模块。然后
npm install
npm run start
(来自脚本,运行webdriver-manager start)
npm run update
(来自脚本,运行webdriver-manager更新)
npm run test
(来自脚本,运行量角器protactor.conf.js)
我已经研究过简单的无头镀铬,无头铬,镀铬转轮npm模块,但无法理解它们的工作原理。
我的理解是以某种方式在node_modules中使用chrome二进制文件,并为chrome选项中的chrome二进制文件提供路径,以便chrome驱动程序可以找到它。
任何人都可以启发我一点关于更大的图片以及如何为第二种方法进行锻炼。我想要无法访问jenkins服务器上安装的chrome插件并希望保持我的设置独立。(nodejs和npm,java jenkins提供等等)
答案 0 :(得分:0)
关于“通过在Windows环境中的chrome选项中提供二进制位置来使用Chrome 60(beta)二进制文件。”,您真的不需要,量角器为您提供了一种指定标记来运行chrome二进制文件的方法:
https://github.com/angular/protractor/blob/master/docs/browser-setup.md#using-headless-chrome
我认为你没有一个节点模块来安装chrome,或者至少可以像google chrome本身那样可靠,所以我所做的就是在运行jenkins slave的ubuntu服务器上安装google chrome,然后你现在有一个google-chrome
二进制文件,您可以使用--headless
运行。
以前我的jenkins奴隶在CentOS上运行,但我很难在它上面设置chrome,所以改为ubuntu。