一、 自动化测试文件准备
1. Postman客户端下载与安装
下载地址:https://www.postman.com/downloads/
2. 编写自动化测试脚本
- 根据项目需求,创建collection
- 根据接口文档的要求,在postman中导入接口
- 在Tests中编写测试脚本
3. 设置环境变量
- 将要设置的变量用{{}}表示出来
- 可在pre-request script中设置环境变量,如:pm.environment.set("variable_key", "variable_value");
- 也可在界面右上角添加环境变量,如图1所示:
图1. Postman 设置环境变量
4. 准备测试数据
- 可在Body中给定,执行happy path
- 也可采用数据驱动的方式,准备一份.csv文件来存储测试数据并上传至postman,如图2所示:
图2. Postman 导入数据文件
二、 本地执行自动化测试
1. Newman安装
- 下载node.js:https://nodejs.org/en/
- 查看node.js版本:node -v
- 安装Newman:npm install newman –global
- 查看Newman版本:newman -v
- 安装html报告:npm install -g newman-reporter-htmlextra
2. 新建本地工程
Vscode或InteliJ中新建本地工程,目录文件如图3所示:
图3. 本地工程目录
API_TEST_FILE中存放的分别是:
AR_data.csv --- 测试数据
AR_env.json --- 环境变量
AR_test.json --- 测试脚本
3. 执行自动化测试
newman_test.sh中写入newman run命令,如图4所示。终端输入:sh newman_test.sh即可执行自动化测试脚本并生成测试报告。
图4. newman run命令
图4中,-d后写入测试数据文件及路径,-e后写入环境变量文件及路径,-r后写入生成测试报告文件的存放路径。
4. 查看测试报告
在本地执行自动化测试后,生成的测试报告存放在newman文件夹下;在远端执行自动化测试后并下载测试报告后,在本地~Downloads/newman路径下存放测试报告。测试报告样例如图5所示:
图5. 测试报告.html版
三、 自动化测试与GitlabCI的集成
1. Gitlab新建repo
图6. Gitlab下新建repo
如图6所示,填写repo名称,选择项目团队,初始化repo信息并创建项目即可。
2. 关联repo与本地工程
打开本地工程的终端,执行命令:
- git remote add origin master url(repo url)
3. 配置.gitlab-ci.yml文件
图7. .gitlab-ci.yml文件配置
由于本项目的测试脚本已通过newman转化为可执行命令,因此无需build阶段,只需test即可;执行测试脚本时要依赖newman,因此在before script中写入安装依赖的脚本,在script中写入newman run命令;最后生成的测试报告可下载至本地,在artifacts中配置本地下载路径即可。
4. 为Gitlab配置runner
Gitlab提供了免费的share-runner,但有额度限制;若要为项目配置runner,需要找一台Azure虚拟机进行配置,可参考图8所示的配置文档。配置方法如下:
图8. Gitlab runner配置文档(参考)
5. Push代码到repo
在本地工程的终端执行命令:
- git add .
- git commit -m “[yinrong] my commits”
- git status
- git push
6. 查看GitlabCI运行结果
当代码push到远端后,就会自动触发pipline去执行测试脚本,测试通过后会生成测试报告,如图9所示:
图9. 自动化测试pipline及测试报告下载
通过点击下载button ,即可将生成的测试报告下载至本地进行查看。
截至目前,postman+newman+gitlabCI实现在gitlab上执行自动化测试就完成了。综上所述,实现步骤可由图10表示出来:
图10. 实现流程图