Dubbo接口测试的Python实践-第3章:使用Pytest与Allure实施测试

作者:夏晖

就职于甜橙金融质量平台。

专注测试领域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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180831G11IOI00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券