链接文章
- 自动化测试基础设施—介绍
- 自动化测试基础设施—部署loki,grafana,influxdb
- 自动化测试基础设施—git安装部署
- 自动化测试基础设施—基础设施集成方案
参考《 git 安装》部分介绍,在git仓库中创建自动化测试工程仓库,并通过git命令将远程仓库克隆到本地,就可以在本地电脑编辑代码,推送到仓库了。
用例集成到jenkins 创建用例用例创建需要用到python库如下:
pytest : python的单元测试框架, 参考pytest官方文档
allure : 用于生成美观的可视化报告, 参考allure官方文档
requests: 用于发送http请求, 参考requests官方文档
安装命令分别如下:
pip install pytest
pip install allure-pytest
pip install requests
用pycharm打开demo4py工程(从git远程仓库克隆下来的自动化工程),并通过pytest测试框架创建测试,为了演示,编写了两个简单的测试用例
在工程根目录下创建package,命名为steps 用来存放测试步骤代码,在steps目录下创建python文件,文件命名为step.py,代码如下:
# -*- coding:utf-8 -*-
import allure
import requests
@allure.step("发送请求消息,地址为:{url}")
def send_get_req(url):
res = requests.get(url)
return res
@allure.step("验证响应消息状态,状态码为:{status_code}")
def verify_status(res, status_code):
assert res.status_code == status_code
在根目录下创建package为cases 用来存放测试用例文件,创建测试用例文件test_demo.py,代码如下:
# -*- coding:utf-8 -*-
import allure
import pytest
from steps.step import send_get_req, verify_status
@pytest.mark.testdemo
class TestDemo:
@allure.title("测试正常的url请求")
def test_pass(self):
res = send_get_req("https://postman-echo.com/get")
verify_status(res, 200)
@allure.title("测试异常的url请求")
def test_fail(self):
res = send_get_req("https://postman-echo.com/get01")
verify_status(res, 404)
工程的目录结构如下:
命令行进入到工程目录下,执行pytest命令,执行用例
pytest -m testdemo
执行结果如下:
有warning,PytestUnknownMarkWarning: Unknown pytest.mark.testdemo - is this a typo? You can register custom marks to avoid this warning 是因为没有在pytest.ini文件中注册testdemo,不会影响执行结果,但是对于有洁癖的程序员来很难受。
解决该问题的具体 *** 作:在工程根目录下创建pytest.ini文件,内容如下:
[pytest]
markers = testdemo
再次执行用例,warning信息就没有了,结果如下:
pytest -m testdemo
由于引入了allure库,我们可以生成测试报告,在执行命令中加入参数 --alluredir=
pytest -m testdemo --alluredir=allure-results
执行结束后会在工程中生成 allure-results目录
查看报告命令,通过执行命令 allure serve allure-results
本机没有安装allure的话,需要安装一下该软件,参考地址Allure安装
allure serve allure-results
命令执行界面:
报告界面如下:
到此,我们的pytest+allure的集成基本上是结束了,比较简单,通过git命令把我们的代码提交到git仓库,接下来我们看一下如何和我们的jenkins来集成起来
jenkins集成确保jenkins服务器已经安装了执行用例所需要的工具和所依赖的库,如:python,pytest,requests, allure等
-
为了便于jenkins能从git仓库中拉取到代码,需要将jenkins服务器上的id_rsa.pub文件内容,添加到git服务器中的authorized_keys文件中
-
由于集成了allure的测试报告插件,jenkins也需要安装对应的插件,才能展示对应的测试报告。
进入jenkins界面,系统管理->插件管理 界面,搜索插件Allure并安装重启
插件安装完成,还需要进入到 系统管理->全局工具配置 界面,添加 Allure Commandline
可以自动安装,选中allure版本
也可以勾掉自动安装,手动输入alllure的目录
点击”保存“按钮
- 进入jenkins界面,创建测试任务,输入任务名称,选择“构建一个自由风格的软件项目”如下:
点击确定,进入配置界面。
-
在”源码管理“区域选中”Git"并填入git仓库地址
-
在“构建”区域中选择“执行shell”选项,用于执行测试用例
在命令输入区域中,输入用例执行命令
rm -rf allure-results
mkdir allure-results
pytest -m testdemo --alluredir=allure-results
如果执行控制台输出”pytest: error: unrecognized arguments: --alluredir=allure-results"之类错误,可能是有多个python版本导致,执行脚本改成“python3 -m pytest -m testdemo --alluredir=allure-results"
- 添加构建后 *** 作,生成报告
在“构建后 *** 作”区域选择“Allure Report”
在“path”输入框中填入 “allure-results”和执行命令中–alluredir的值一致,不需要填写绝对路径,只要相对路径即可
点击“保存”按钮,即可完成任务创建。
- 执行任务
进入新建的任务界面,点击左侧的“立即构建”即可执行任务。
如果首次构建,下拉代码仓库失败,可以尝试登录到工程的工作目录下,手动拉取一下,第一次拉取需要输入一个yes选项
在任务查看界面中可以看到左侧有个“Allure Report"的区域,任务执行完成后,可以查看最新的测试报告
报告右下角的链接可以直接跳转到Jenkins界面,在报告和jenkins中切换就很方便了。到此我们的jenkins集成基本上结束了。
接下来我们看一下怎么把日志服务和数据收集服务集成到我们的自动化测试工程中。
下篇文章
6. 自动化测试基础设施—集成loki和influxdb
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)