我正在尝试在私有服务器上通过browserstack运行自动测试,测试在Gitlab Ci上执行。由于它是私有服务器,所以在执行测试时需要强制使用本地参数。当从本地PC运行时,以下解决方案完美工作:
- 下载二进制文件
- 正在运行命令/BrowserStackLocal--key--force local
我想在.gitlab-ci.yml文件中也这样做,但我不知道如何实现这一点(如何下载解压并安装browserstacklical二进制文件(
这是我现在的.gitlab-ci.yml文件:
stages:
- e2e_testing
e2e_testing:
image: node:10.15.3
stage: e2e_testing
variables:
NODE_ENV: dev
script:
- apt-get update
- apt-get install unzip
- wget http://www.browserstack.com/browserstack-local/BrowserStackLocal-linux-x64.zip
- unzip BrowserStackLocal-linux-x64.zip
- ./BrowserStackLocal --key ${BROWSERSTACK_ACCESSKEY} --force-local
- npm ci
- npm run test:browserstack
only:
- master
tags:
- docker
- build
artifacts:
when: always
paths:
- reports/
您可以使用Node JS的本地绑定通过代码执行BrowserStack本地二进制文件。参考:https://github.com/browserstack/browserstack-local-nodejs
当使用本地绑定时,二进制文件会自动下载并通过代码本身启动。
您可以尝试执行示例测试:https://github.com/browserstack/browserstack-local-nodejs/blob/master/node-example.js从你的Gitlab CI.