zoukankan      html  css  js  c++  java
  • pytest入门 及allure2报告生成

    pytest官网:https://docs.pytest.org/en/latest/

    pycharm中切换Test Runner到pytest

     简单例子:assert 用作断言

    def inc(x):
        return x + 1
    
    
    def test_answer():
        assert inc(3) == 5

    1、分组执行

    在测试用例上添加:@pytest.mark.xxx,xxx是自己定义的名字

    通过命令行 进行分组执行:pytest -m "xxx";想要同时执行多个分组:pytest -m "xxx yyy"

    2、参数化

    测试用例上添加:@pytest.mark.arametrize()

    通过参数化,可以高效的执行测试用例

    优点:断言灵活性高,如果一个测试用例中的某一个assert报错,那么它不会执行后面的assert;但是参数化可以避开这个问题,会执行完所有的assert

    @pytest.mark.parametrize("number1, number2, expect", {
        (10, 2, 5),
        (10, 5, 2),
        (10000000, 1, 10000000)
    })
    def test_param(number1, number2, expect):
        assert div(number1, number2) == expect

    3、报告生成:

    pytest-html:现在几乎不用

    allure2:优美

    1)下载allure

    mac上执行 brew install allure,前提电脑装过Homebrew ,也可以去git上下载并配置环境变量

    2)项目-preferences-ProjectInsterpreter-搜索并安装 allure-pytest

    先执行命令pytest --junitxml=pytestdemo/junit.xml pytestdemo,在pytestdemo文件下生成 junit.xml文件

    在执行 pytest --junitxml=pytestdemo/junit.xml --alluredir=pytestdemo/allure_result pytestdemo/   ,生成allure_result 文件

    3)执行命令:allure serve pytestdemo/allure_result/

    4)查看报告

    5)保存报告 到/tmp/allure_html/中

    allure generate pytestdemo/allure_result/ -o /tmp/allure_html

    6)open /tmp/allure_html,打开报告所在文件

    7)因为报告都是基于js文件的,所以要把报告生成一个网站,才能成功打开

    命令执行 python -m CGIHTTPSerer

    python3的话,用命令 python -m http.server

    点击网址 进入即可

  • 相关阅读:
    EF--CodeFirst
    一个很吊的文章---框架
    EF的代码优先设计
    MVC3--View层
    asp.net返回值当文件下载问题
    MVC源码
    编译原理
    TPatch动态补丁系统(iOS)
    浅析分布式系统
    如何在腾讯云快速构建一个Wordpress个人站点
  • 原文地址:https://www.cnblogs.com/lwj-0923/p/12466514.html
Copyright © 2011-2022 走看看