allure报告定制(pytest+jenkins)

环境及安装可查看

pytest+jenkins安装+allure导出报告

要让allure报告更漂亮,更直观,需要在脚本中写入allure特性

一开始allure调用step()、story()、feature()等总是报错,提示不存在这些方法。

@allure.feature('ceshi')

警告信息:

通过查看allure的__init__.py文件

在调用allure的feature()、story()、step()等方法时,加上MASTER_HELPER即可

@allure.MASTER_HELPER.feature()
import allure
# @allure.environment(report='reports1', browser='chrome')

# @allure.feature('ceshi')  # 定义功能
@allure.MASTER_HELPER.feature('feature定义功能')  # 定义功能
class Testtest(object):
    # @allure.story('定义用户场景')
    @allure.MASTER_HELPER.story('story定义用户场景1')
    @allure.MASTER_HELPER.severity('blocker')
    @allure.MASTER_HELPER.issue("http://www.baidu.com")
    @allure.MASTER_HELPER.testcase("http://www.testlink.com")
    def test_add(self):  # 调用步骤函数
        """
        用例描述:这是测试用例描述
        """
        print('调用步骤函数')
        file = open('E:/py/20190411144914.PNG','rb').read()
        allure.MASTER_HELPER.attach('test_img', file, allure.MASTER_HELPER.attach_type.PNG)
        assert add(1, 1) == 2

    # @allure.story('定义用户场景2')
    @allure.MASTER_HELPER.story('story定义用户场景2')
    @allure.MASTER_HELPER.severity('Critical')
    def test_minus(self):
        assert minus(2, 1) == 2

    # @allure.story('定义用户场景3')
    @allure.MASTER_HELPER.story('story定义用户场景3')
    @allure.MASTER_HELPER.severity('Minor')
    def test_aa(self):
        print("123")

    # @allure.story('定义用户场景4')
    @allure.MASTER_HELPER.story('story定义用户场景4')
    @allure.MASTER_HELPER.severity('Critical')
    def test_bb(self):
        assert add(1, 1) > minus(2, 1)

    @allure.MASTER_HELPER.story('story定义用户场景5')
    @allure.MASTER_HELPER.severity('Minor')
    def test_cc(self):
        print("abc!")

# @allure.step('测试123!')  # 步骤函数
@allure.MASTER_HELPER.step('step字符串相加:{0},{1}')
def add(a, b):
    return a + b

@allure.MASTER_HELPER.step('step字符串相减:{0},{1}!')
def minus(c, d):
    return c - d

立即构建后:

说明:

Severity定制详解

Allure中对严重级别的定义:
1、 Blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
2、 Critical级别:临界缺陷( 功能点缺失)
3、 Normal级别:普通缺陷(数值计算错误)
4、 Minor级别:次要缺陷(界面错误与UI需求不符)
5、 Trivial级别:轻微缺陷(必输项无提示,或者提示不规范)

attach定制详解

在报告中增加附件:allure.attach(’arg1’,’arg2’,’arg3’):
arg1:是在报告中显示的附件名称
arg2:表示添加附件的内容
arg3:表示添加的类型(支持:HTML,JPG,PNG,JSON,OTHER,TEXTXML)

 file = open('E:/py/20190411144914.PNG','rb').read()
 allure.MASTER_HELPER.attach('test_img', file, allure.MASTER_HELPER.attach_type.PNG)

 ----------------------------------------------------------

-----------------------------------------------------------

若运行后报错如下:

INTERNALERROR> _pytest.warning_types.RemovedInPytest4Warning: MarkInfo objects are deprecated as they contain merged marks which are hard to deal with correctly.
INTERNALERROR> Please use node.get_closest_marker(name) or node.iter_markers(name).
INTERNALERROR> Docs: https://docs.pytest.org/en/latest/mark.html#updating-code

这个是运行警告,解决办法如下:

 
 

1.命令行运行:添加参数-p no:warnings

 

运行后就没有上面的警告信息了

 

2.配置pytest.ini

[pytest]
addopts = -p no:warnings

 -p no: 命令是禁用插件扩展

方法:

新建一个配置文件pytest.ini,存放在测试目录中

 

转载于:https://www.cnblogs.com/may18/p/10678642.html

pytest是一个用于Python编写的测试框架,它结合了unittest和nose等测试工具的优点,具有简单易用、灵活且可扩展的特点。pytest允许我们使用简洁的语法编写测试用例,并提供了丰富的断言库和丰富的插件支持,方便我们编写高效、可维护的自动化测试脚本。 而Allure是一种生成漂亮报告测试结果框架,它支持多种编程语言,并提供了美观直观的图表、图标和饼状图,可以展示测试结果的统计数据,以及失败和通过测试的详细信息。通过Allure报告,我们可以更加直观地查看测试结果,方便问题的定位和分析。 Jenkins是一个流行的持续集成和持续交付工具,它可以帮助我们自动化构建、测试和部署软件项目。Jenkins提供了丰富的插件生态系统,可以与各种测试框架和工具集成,如pytestAllure。通过与Jenkins的集成,我们可以实现自动化的测试报告生成,减少了人工操作和提高了测试效率。 因此,结合pytestAllureJenkins,我们可以实现一个完整的自动化测试报告系统。我们可以通过编写pytest脚本编写测试用例,并使用pytest插件生成Allure报告。然后,我们可以将这些脚本配置到Jenkins中,形成一个定期执行的自动化测试任务。Jenkins会自动运行测试脚本,并生成带有Allure报告测试结果。我们可以通过Jenkins的UI界面,方便地查看测试结果,帮助我们及时发现和解决问题。 总结起来,pytestAllureJenkins的结合为我们的自动化测试提供了全方位的支持,能够让我们更加高效地进行软件测试,并通过直观的报告帮助我们更好地理解测试结果。这样,我们可以更加准确地判断软件质量,提高软件开发的效率和质量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值