作者:夏晖
就职于甜橙金融质量平台。
专注测试领域6年,致力于自动化测试开发以提高测试效率保证产品质量。
“6年小测试。”——夏晖
前言
上一章讲了Telnet测试dubbo接口的python实践,本章就Pytest如何与Allure集成做详细介绍。
Python测试框架pytest
pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:
1、简单灵活,容易上手;
2、支持参数化;
3、能够支持简单的单元测试和复杂的功能测试
1
pytest.fixture
fixture是pytest特有的功能,它用pytest.fixture标识,定义在函数前面。为可靠的和可重复执行的测试提供固定的基线
fixture有明确的名字,在其他函数,模块,类或整个工程调用它时会被激活。
fixture是基于模块来执行的,每个fixture的名字就可以触发一个fixture的函数,它自身也可以调用其他的fixture。
我们可以把fixture看做是资源,在你的测试用例执行之前需要去配置这些资源,执行完后需要去释放资源。比如module类型的fixture,适合于那些许多测试用例都只需要执行一次的操作。
fixture还提供了参数化功能,根据配置和不同组件来选择不同的参数。
2
Allure测试报告
Allure是一款非常轻量级并且灵活的开源测试报告生成框架。它支持绝大多数测试框架, 例如TestNG、Pytest、JUint等。它简单易用,易于集成。
Allure的几个特性:
@allure.feature # 用于定义被测试的功能,被测产品的需求点
@allure.story # 用于定义被测功能的用户场景,即子功能点
with allure.step # 用于将一个测试用例,分成几个步骤在报告中输出
allure.attach # 用于向测试报告中输入一些附加的信息,通常是一些测试数据信息
3
Show me the code
有了以上准备下面我们开始写代码
代码写完,我们开始集成到Jenkins来进行测试。
4
集成到 Jenkins
allure report的生成需要allure commandline tool和jenkins上对应的allure 插件的支持。
jenkins配置好后新建试图,如下设置
配置完成开始构建,执行完成后就可以看到allure的报告生成了:
打开allure报告,首页展示:
首页中展示了本次测试的测试用例数量,成功用例、失败用例、跳过用例的比例,测试环境信息,SUITES,FEATURES BY STORIES等基本信。TREND区域显示了历次测试的通过情况。
首页的左边栏,还从不同的维度展示测试报告的其他信息,我们展开Behavior看看结果
packages展开可以看到每条测试用例的历史构建结果信息
allure Timeline还记录了当次执行任务的时间分布情况
allure丰富的报告就不一一展示了。
这样一来,dubbo自动化测试的整套解决方案思路也就清晰了。
下面是加入dubbo接口测试的报告。
写在最后
该系列分享告一段落,谢谢大家。
责任编辑:0x5f375a86
翼支付质量平台 © 2018
领取专属 10元无门槛券
私享最新 技术干货