angular - 如何在 Jenkins 上为 Angular JUnit 测试设置 Headless Chrome?
问题描述
我想在 Jenkins 上用 Headless Chrome 替换 PhantomJs 无头浏览器,以便运行 Angular Junit 测试,但问题是我无法访问 Linux 从站,所以我无法下载 chrome 二进制文件和驱动程序。
问题:这就是我在 Jenkins 上运行测试时收到 CHROME_BIN 缺少环境变量错误的原因。
可能的解决方案0:安装二进制和驱动程序,但我不知道在这种情况下,还有什么需要做的吗?以下命令取自本教程:https ://www.youtube.com/watch?v=d22Jcw5z-3I
Install Chrome Driver:
sudo wget https://chromedriver.storage.googleap...
sudo unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/bin/chromedriver
chromedriver –version
Install Chrome Binary:
sudo curl https://intoli.com/install-google-chr... | bash
sudo mv /usr/bin/google-chrome-stable /usr/bin/google-chrome
google-chrome –version
可能的解决方案 1:我认为 chromedriver 插件是一种解决方案,但问题是我无法访问 Jenkins 上的插件管理器。
可能的解决方案 2:之后我尝试使用 puppeteer,在本地安装为 dev 依赖项,跳过 chromium 下载,因为当它尝试访问下载链接https://storage.googleapis.com/chromium-browser-snapshots时收到 403 /Win_x64/869685/chrome-win.zip,我也在 karma.conf.ts 中添加了它,例如:
const process = require('process');
process.env.CHROME_BIN=require('puppeteer').executablePath();
但是当我在 Jenkins 上运行测试时,我收到连接超时错误。
在这种受限情况下,哪一种可能的解决方案?
我需要找出执行此操作的主要步骤,以便联系支持团队配置 Jenkins,并告诉他们需要完成的最小步骤是什么。然而,即使是支持团队的访问也受到限制,因此情况相当复杂。
这就是为什么我需要找出最简单的解决方案。先感谢您!
解决方案
推荐阅读
- python-3.x - 如何在执行任何 api 之前检查条件 - python
- java - “gradle 依赖项”与 Gradle 缓存的差异
- r - 如何在 R 中使用向量填充列表
- android - 如何从 MaterialButton.addOnCheckedChangeListener { "as a lambda" } 获取监听器
- sdk - 如何通过 Xilinx SDK 中的 DMA 从内存向自定义流 IP 发送数据?
- python - 如何使用 BS4 打印类中的文本?
- apache-spark - 获取昨天日期的 NIFI 表达式
- spring-boot - Fazer 上传 Multipart usando Java SpringBoot
- spring-batch - 了解 JobLauncherTestUtils
- python - AWS Lambda 将最后修改的对象从 S3 复制到另一个 S3 存储桶