背景

现公司通过python完成了接口/UI自动化用例的编写,且将代码放在gitLab上,为了方便测试或开发人员在gitLab上直接触发接口/UI自动化用例,现进行python自动化用例在gitLab上的CI搭建。

前置条件

自动化代码放在gitLab上,

接口/UI自动化用例已完成,且可以执行。

自动化用例执行文件的配置

创建一个用例执行文件,大致内容如下:

 

文件主要包括两部分:

  1. 执行指定用例并生成报告:可以执行部分的用例。
  2. 报告发送邮件:可配置邮件的接收者。该部分可省略。

PS:具体内容可以自行编写

配置CI执行机器

  1. 下载gitlabgitlab-runner windows版本
  2. 安装gitlab-runner
  3. 注册gitlab-runner

查看tokenurl方式如下图:

 

Windows下注册Runner

  1. 运行以下命令
./gitlab-runner.exe register
  1. 输入您的GitLab URL(也称为gitlab-ci coordinator URL)。
  2. 输入您获得的token 以注册runner
  3. 输入runner的描述。您可以稍后在GitLab的用户界面中更改此值。
  4. 输入与Runner的标签,以逗号分隔。您稍后可以在GitLab的用户界面中更改此值。
  5. 提供runner executor。对于大多数用例,请输入 docker

 

配置CI

gitlab-ci.yml文件中配置相关信息

关键字介绍

 

简易示例:

stages:
  - test

before_script:
  - echo "CI test..."

test_job:
  stage: test
  when: manual
  tags: 
  - autoTest
  script:
  - echo "Tests run..." 
  - cd C:\work\workspace\wl-wms_uitest
  - git pull
  - python RunTestCase.py
  - git add ./Report/AutoReport.html
  - git commit -m "自动化用例测试报告提交"
  - git push

after_script:

  - echo "CI test..."

查看报告

手动或自动触发后可以在邮件或gitLab的对应文件夹下查看报告。

多组用例的支持

  1. 多个job 多组用例

.gitLab-ci.yml文件中配置多个项目,每一个job对应一个组的用例,根据各自项目需要选择是否上传测试报告

简单示例:

stages:
  - test 

before_script:
  - echo "CI test..."

test:gangxin:
  stage: test
  when: manual
  tags: 
  - autoTest
  script:
  - echo "Tests run..." 
  - cd C:\work\workspace\bdfint_apitest
  - git pull
  - cd C:\work\workspace\bdfint_apitest\execute_test\transaction  - python C:\work\workspace\bdfint_apitest\execute_test\transaction\gangxin_execute.py

test:logistics:
  stage: test
  when: manual
  tags: 
  - autoTest
  script:
  - echo "Tests run..." 
  - cd C:\work\workspace\wl-wms_uitest
  - git pull
  - python RunTestCase.py
  - git add ./Report/AutoReport.html
  - git commit -m "物流自动化用例测试报告提交"
  - git push

after_script:
  - echo "CI test..."

Pipelines中选择对应的job执行

 

PS:同一个runner可以并行执行多个job(job的stage必须相同)是一般支持的job数不多,现为4个

2.各组的自动化用例的执行文件需要自定义,且为了保证报告的上传,需要报告根据组名不同而自定义,执行文件和报告均不能使用同一个。

定时任务

创建Schedules

 

Interval Pattern可设置定时任务的执行规则。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐