测试平台集成Gitlab-CI时序图
1、增加Gitlab-CI流水线配置
- 在项目的根路径新增Gitlab-CI流水线配置文件
.gitlab-ci.yml
- Windows系统在资源管理器中可能无法创建.开头文件,通过在
git bash
命令行中创建。
# .gitlab-ci.yml
stages:
- autotest
自动化测试:
image: centos:7
stage: autotest
variables:
{
BASE_URL: 'http://xxx:8000', # 测试平台后端接口ip
QUERY: '/api/fastrunner/gitlab-ci/',
TASK_IDS: '22,70', # 需要运行的任务,多个任务用逗号分隔;不传或者为空,则运行所有的任务
PROJECT: 7, # 测试平台中的项目id
FULL_URL: '$BASE_URL$QUERY',
START_JOB_USER: '$GITLAB_USER_NAME',
}
script:
- echo start to request test platform...
- echo $FULL_URL
- |
curl -X POST $FULL_URL -H "Content-Type: application/json" -d '{"project": "'"$PROJECT"'", "task_ids": "'"$TASK_IDS"'", "ci_job_id": "'"$CI_JOB_ID"'", "ci_job_url": "'"$CI_JOB_URL"'", "ci_pipeline_id": "'"$CI_PIPELINE_ID"'", "ci_pipeline_url": "'"$CI_PIPELINE_URL"'", "ci_project_id": "'"$CI_PROJECT_ID"'", "ci_project_name": "'"$CI_PROJECT_NAME"'", "ci_project_namespace": "'"$CI_PROJECT_NAMESPACE"'", "start_job_user": "'"$START_JOB_USER"'"}' > report.xml;
- cat report.xml
- e=`cat report.xml|grep -Po "(?<=<errors>).*(?=</errors>)"`; echo errors count $e
- f=`cat report.xml|grep -Po "(?<=<failures>).*(?=</failures>)"`; echo failures count $f
- echo run test finish...
- if [[ $e -eq 0 && $f -eq 0 ]]; then exit 0; else exit 1; fi
after_script:
- echo $CI_JOB_ID $CI_JOB_STATUS
- curl -X GET "${FULL_URL}?ci_job_id=${CI_JOB_ID}" > result.txt
- cat result.txt
artifacts:
when: always
reports:
junit: report.xml
2、修改配置运行的项目和任务id
修改两个变量:
-
TASK_IDS
,需要运行的任务,多个任务用逗号分隔;不传或者为空,则运行所有的任务(任务状态需要是绿色的) -
PROJECT
,测试平台中的项目id
3、修改Gitlab Profile的Full name为中文名
中文名的作用:
- 在测试报告的创建人依赖这个变量,同时需要和测试平台的用户名一一对应
-
后续飞书报告中也可能会用到这个变量
4、Pipeline测试报告
5、测试平台-在线测试报告地址
[图片上传失败...(image-ea8abf-1622102724481)]