pytest + allure

作者: lvyz0207 | 来源:发表于2020-04-07 00:03 被阅读0次

    pytest

    # 安装:
    pip install pytest
    # 编写规范
    1. 测试文件以test_开头(以_test结尾也可以)
    1. 测试类以Test开头,并且不能带有 __init__ 方法
    1. 测试函数以test_开头
    1. 断言使用基本的assert即可
    
    # 执行方式:
    py.test               # 执行单签所有测试用例 
    py.test test_1.py   # 执行test_1文件下的用例
    py.test dir1      # 执行dir下的所有用例
    py.test test_mod.py::test_func  # 执行某个方法
    

    allure测试报告-图形化工具

    官网:https://docs.qameta.io/allure/
    安装:
    # Mac系统,使用HomeBrew安装:
    brew install allure
    
    pip install pytest
    pip install allure-pytest
    
    
    @allure.feature # 用于定义被测试的功能,被测产品的需求点
    @allure.story # 用于定义被测功能的用户场景,即子功能点
    with allure.step # 用于将一个测试用例,分成几个步骤在报告中输出
    allure.attach # 用于向测试报告中输入一些附加的信息,通常是一些测试数据信息
    @pytest.allure.step # 用于将一些通用的函数作为测试步骤输出到报告,调用此函数的地方会向报告中输出步骤
    
    ---
    Severity定制详解
        Allure中对严重级别的定义:
        1) Blocker级别:中断缺陷(客户端程序无响应,无法执行下一步操作)
        2)Critical级别:临界缺陷( 功能点缺失)
        3) Normal级别:普通缺陷(数值计算错误)
        4) Minor级别:次要缺陷(界面错误与UI需求不符)
        5)Trivial级别:轻微缺陷(必输项,无提示,或者提示不规范)
    

    执行用例

    # 执行全部的测试用例
    pytest ./Allure/test_allure_shoping.py --alluredir ./Allure/result/
    
    # 执行指定features或者stories执行一部分测试用例,比如执行‘报告购物车’下的‘加入购物车’子功能的测试用例
    pytest ./Allure/test_allure_shopping.py --allure_features="报告购物车" --allure_stories="加入购物车" ../Allure/part_result/
    

    浏览器打开报告

    allure serve /home/path/to/project/target/surefire-reports/
    
    

    生成报告

    # 生成测试报告
    allure generate ./Alluer/result/ -o ./Allure/report/ --clean
    
    # 打开测试报告
    allure open -h 127.0.0.1 -p 8083 ./Allure/report/
    
    

    示例

    import allure
    import pytest
    
    
    @allure.feature('产品需求点1')  # 需求点
    @allure.story('测试需求点1')  # 测试需求点
    @allure.severity('blocker')  # 严重程度
    def test_case_01():
        assert 0
    
    
    @allure.feature('产品需求点1')
    @allure.story('测试需求点2')
    @allure.severity('critical')
    def test_case_02():
        assert 0 == 0
    
    
    @allure.feature('产品需求点1')
    @allure.story('测试需求点3')
    @allure.severity('normal')
    def test_case_03():
        assert 0
    
    
    @allure.feature('产品需求点1')
    @allure.story('测试需求点3')
    @allure.severity('minor')
    def test_case_04():
        assert 0 == 0
        
    >>>命令
    pytest testCode/test_a.py --alluredir ./testCode/report
    allure generate ./report -o ./report2 --clean
    allure open -h 127.0.0.1 -p 8083 ./report2   
    
    

    参考文档:https://juejin.im/post/5def3d64f265da33e67b3352

    张良_幽兰居士.jpg

    相关文章

      网友评论

        本文标题:pytest + allure

        本文链接:https://www.haomeiwen.com/subject/iwywphtx.html