如何在GitLab CI/CD中为Robot Framework自动化测试切换环境URL
该需求完全可以实现,你可以通过GitLab CI的手动变量选择+参数传递到Robot Framework执行命令的方式完成配置,具体实现方案如下:
实现步骤
- 定义三套环境对应的测试地址变量,可直接配置在
.gitlab-ci.yml中,也可以提前在GitLab项目的「设置- CI/CD -变量」中预定义 - 配置CI流水线触发时的环境选择入口,支持手动选择要执行的环境
- 修改Robot执行命令,动态传递选中环境对应的URL参数
完整配置示例
# 全局变量定义 variables: # 定义环境可选值,触发流水线时可手动选择 ENV: value: "test" # 默认执行test环境测试 description: "选择测试环境,可选值:dev / test / prod" # 各环境对应的测试地址,可根据实际业务修改 TEST_URL_DEV: "https://dev.your-service.com" TEST_URL_TEST: "https://test.your-service.com" TEST_URL_PROD: "https://prod.your-service.com" # Robot测试执行Job run_robot_test: stage: test image: # 替换为你自己的Robot Framework运行环境镜像 script: # 动态匹配选中环境对应的测试地址 - | if [ "$ENV" == "dev" ]; then CURRENT_TEST_URL=$TEST_URL_DEV elif [ "$ENV" == "test" ]; then CURRENT_TEST_URL=$TEST_URL_TEST elif [ "$ENV" == "prod" ]; then CURRENT_TEST_URL=$TEST_URL_PROD fi # 把测试地址通过-v参数传入Robot执行流程 - robot -v BROWSER:Chrome -v TEST_URL:$CURRENT_TEST_URL -d results/Chrome test/test.robot # 测试报告归档 artifacts: paths: - results/Chrome expire_in: 30d # 可根据需求调整触发规则,manual为手动触发 when: manual
后续使用说明
- 配置提交后,每次在GitLab页面触发流水线时,会自动弹出
ENV变量的选择框,选择对应环境即可自动切换测试URL - 你的Robot测试用例中直接引用
${TEST_URL}变量即可,无需修改用例内部的地址硬编码
内容的提问来源于stack exchange,提问作者Bogdan Rusu
相关产品推荐
相关产品推荐

