实际上,我在缺乏如何进行大局的情况下苦苦挣扎,情况是这样的:

我通过在Windows环境中的chrome选项中指定二进制位置来使量角器测试套件使用Chrome 60(测试版)二进制文件无头运行。

我想将此移植到可用的CI CD Jenkins实例(linux)并在那里无头运行。我可以想到两种方法:

方法1:

在jenkins中安装chrome插件,因此chrome可以由chrome driver

npm install


npm run start(通过脚本,运行webdriver-manager start)

npm run update(通过脚本,运行webdriver-manager update)

npm run test(从脚本运行protractor protactor.conf.js)

方法2:与其他npm模块一样,将chrome安装为模块。

npm install


npm run start(通过脚本,运行webdriver-manager start)

npm run update(通过脚本,运行webdriver-manager update)

npm run test(从脚本运行protractor protactor.conf.js)

我已经研究了简单的无头铬,无头铬,铬运行程序npm模块,但是无法理解它们如何工作。

我的理解是,以某种方式在node_modules中有chrome二进制文件,并在chrome选项中给出chrome二进制文件的路径,以便chrome驱动程序可以找到它。

任何人都可以启发我一些有关大图的知识,以及第二种方法将如何锻炼。因为我不想获得在jenkins服务器上安装chrome插件的权限,并且希望保持我的设置独立。(nodejs和npm,java等可用)在詹金斯)

最佳答案

关于“通过在Windows环境中的chrome选项中提供二进制位置来使用Chrome 60(测试版)二进制文件。”,您确实不需要,量角器为您提供了一种指定标签来运行chrome二进制文件的方法:

https://github.com/angular/protractor/blob/master/docs/browser-setup.md#using-headless-chrome

我认为您没有要安装chrome的节点模块,或者至少没有像google chrome本身一样可靠的节点模块,所以我要做的就是在运行jenkins从属服务器的ubuntu服务器上安装google chrome。可以使用google-chrome运行的--headless二进制文件。

以前,我的jenkins奴隶在CentOS上运行,但是我很难在上面设置chrome,因此改用ubuntu。

关于jenkins - 如何在jenkins(Linux)实例上放置和使用 headless chrome二进制文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45350380/

10-09 06:08
查看更多