自动化框架--pytest

1、pytest安装

pytest是web自动化的一种框架,对测试用例进行管理、执行、记录、出具报告的。pytest是一种外置框架,要想使用必须先安装

2、pytest与unittest的区别

unittest:

1、内置库,不用安装,直接调用

2、使用范围:可在java与python中使用

3、使用过程比较复杂,必须有以下4步:testcase,testsuite,testloader,testrunner

4、可以使用的插件少

pytest:

1、外置库,需要安装才能使用

2、适用范围:python

3、使用过程简单:编写测试用例--执行

4、可用插件多

3、pytest的常用插件

pytest:框架本体

pytest-html        生成HTML的测试报告

pytest-xdist        并行执行测试用例

pytest-rerunfailures        失败重跑

pytest-ordering        测试用例的顺序

allure-pytest        生成allure报告

想要使用以上插件都需要先安装,安装方法同pytest,可以同时安装

4、pytest的使用

4.1 测试用例的编写

编写规则:

1、从当前目录开始去遍历所有目录

2、只会找以test_*开头或者以*_test结尾的文件

3、在导入的文件中去找测试用例

        3.1 test开头的函数

        3.2 以Test开头的类及方法

        3.3 pytest能兼容unittest的测试用例

eg:编写测试用例框架 

#引入pytest
import pytest
def test_a():
    assert 1==1

def test_b():
    assert 1==1

if __name__ == '__main__':
    pytest.main()

4.2 测试用例的执行

通过代码执行:pytest.main()

a、执行当前文件中的测试用例,在main函数下执行pytest.main()

 b、执行某个指定文件下的用例,在pytest.main()中放文件路径

 c、执行时可能会用到的参数

-s        要显示print或logger的内容

-v        显示详细执行信息

-q        安静模式,不输出与环境相关信息

 d、执行用例后生成报告

1、生成html报告

--html=path

path为报告的路径

2、生成xml报告

--junitxml=path

注意:若是运行没有报错,但是没有生成报告,需要更改设置。

file-->setting-->tools-->python integrateted tool-->testings-->unittest

 

 3、生成allure报告

1)在pytest.main()中先生成allure的结构目录

'--alluredir','path'

2)生成测试报告

        1.安装allure工具,下载包,解压(记住路径)

        2.配置环境变量

找到bin的路径,依照以下步骤进行环境变量的配置

 

 

 新建之后将bin的路径放置确定即可。

3)进入cmd,进到要生成报告的目录下,执行以下命令:

运行后生成以下文件,其中index.html就是allure报告 

 如果不想在窗口执行,需要配置用户环境变量,如下操作:

 

 进行环境变量配置之后就可以在main函数下用命令进行执行

 allure报告:

 

 总结:pytest是比较简洁易用的,在unittest的基础上简化了很多操作,实现的功能齐全,在当下是使用比较广泛的自动化框架。

 

 


版权声明:本文为zr966458原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。