• pytest,allure报告,标题等等样式


    1.使用参数化提供的参数,作为标题

    import pytest
    import allure
    import os
    
    get_data=[(3,4),(10,20)]
    
    @allure.story('测试模块')
    @allure.title('测试用例请求参数为:{a}的case')
    @allure.step('step测试用例请求参数为:{a}的case')
    @pytest.mark.parametrize('a,b',get_data)
    def test_allure(a,b):
        '''
        第一种allure报告提供测试title标题的方式:直接使用 '{a}',带上我们的参数名称,记住不能使用‘f’
        :param a:
        :param b:
        :return:
        '''
        assert a+b >6
        print(a+b)
    
    if __name__ == '__main__':
        pytest.main(['test_demo.py', '-s', r'--alluredir=C:Usersxibo.zhuworkmyselfgitdemozhuxibo_demo_43project_SZcase_data	emp
    eport','--clean-alluredir'])
        # Jenkins执行的时候不需要此行代码
        os.system(r'allure serve C:Usersxibo.zhuworkmyselfgitdemozhuxibo_demo_43project_SZcase_data	emp
    eport')

    2. 第二种方法:使用装饰器

      自定义标题

    import pytest
    import os
    
    def dynamic_report(caseName,target):
        '''
        带参装饰器
        :param target: 装饰器传进来的参数
        :return:
        '''
        def decorate(fun):
            @functools.wraps(fun)
            def inner(*args,**kwargs):
                # print('增加自定义测试用例标题',target)
                fun(*args,**kwargs)
                #增加自定义测试用例标题
                # print('增加自定义测试用例标')
                #target指定使用什么参数来定义用例标题
                title = kwargs.get(target,'未定义标题')
                allure.dynamic.title(caseName+str(title))
            return inner
    
        return decorate
    
    @dynamic_report('测试用例1:','a')
    @pytest.mark.parametrize('a,b',[(1,'zxb'),(2,'zxl')])
    def test_case(a,b):
        print(f'测试用例{a}',b)
    
    if __name__ == '__main__':
        pytest.main(['tools_test.py', '-s', r'--alluredir=C:Usersxibo.zhuworkmyselfgitdemozhuxibo_demo_43project_SZcase_data	emp
    eport','--clean-alluredir'])
        # Jenkins执行的时候不需要此行代码
        os.system(r'allure serve C:Usersxibo.zhuworkmyselfgitdemozhuxibo_demo_43project_SZcase_data	emp
    eport')

  • 相关阅读:
    网页常用的小工具--返回顶部
    关于javascript在作用域中的变量定义你所不知道的一些东西
    javascript中的function
    javascript判断非空
    jq实现多banner效果图
    JavaScript对下一个元旦倒计时,经常用于网店限时销售
    oracle 查看锁表情况并处理锁表
    ORACLE中的FTP例子代码
    Oracle包被锁定的原因分析及解决方案
    DOS和批处理基本命令
  • 原文地址:https://www.cnblogs.com/zhuxibo/p/14297298.html
Copyright © 2020-2023  润新知