使用:
Distributor ID: Debian
Description: Debian GNU/Linux 10 (buster)
Release: 10
Codename: buster
Run Code Online (Sandbox Code Playgroud)
Google 现在建议人们使用 Chrome 进行测试来实现测试自动化,而不是商业版本的 Chrome,但我找不到让它发挥作用的方法。我们最初在管道中是这样做的:
curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list
apt-get -y update
apt-get -y install google-chrome-stable
Run Code Online (Sandbox Code Playgroud)
但现在使用 Chrome 的新 api 进行测试,这就是我在 shell 脚本中使用的内容:
LATEST_CHROME_JSON=$(curl -s https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json | jq '.channels.Stable')
LATEST_CHROME_URL=$(echo "$LATEST_CHROME_JSON" | jq -r '.downloads.chrome[] | select(.platform == "linux64") | .url')
wget -N "$LATEST_CHROME_URL" -P ~/
unzip ~/chrome-linux64.zip -d ~/
rm ~/chrome-linux64.zip
mkdir -p /opt/chrome
mv …Run Code Online (Sandbox Code Playgroud) 我试图仅在更改的 python 文件上运行 pylint,但我的构建始终失败。我已经通过 git diff 提取了更改的文件并将它们保存在变量中,但是当我将变量注入 pylint 调用时,它失败了。然而,它对于硬编码的文件名工作得很好。这是我的 yaml:
pylint:
stage: test
before_script:
- pip install pylint pylint-exit anybadge
script:
- echo CI_COMMIT_SHA=${CI_COMMIT_SHA}
- echo CI_MERGE_REQUEST_TARGET_BRANCH_NAME=${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
- git fetch origin ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
- FILES=$(git diff --name-only ${CI_COMMIT_SHA} origin/${CI_MERGE_REQUEST_TARGET_BRANCH_NAME} | grep '\.py'$)
- echo "Changed files are $FILES"
- pylint --output-format=text $(find -type f -name "$FILES" ! -path "**/.venv/**") | tee ./pylint/pylint.log || pylint-exit $?
- PYLINT_SCORE=$(sed -n 's/^Your code has been rated at \([-0-9.]*\)\/.*/\1/p' ./pylint/pylint.log)
- anybadge --label=Pylint --file=pylint/pylint.svg --value=$PYLINT_SCORE …Run Code Online (Sandbox Code Playgroud)