关于python:都说Pytest框架比Unittest好用太多你信吗

前言
大家都晓得Python有自带的单元测试框架unittest,那为什么还要学习Pytest呢?先理解下Pytest长处

pytest:
pytest是一个十分成熟的全功能的Python测试框架,是unittest框架的扩大,次要特点有以下几点:

 1、简略灵便,十分不便的组织自动化测试用例;

 2、反对参数化,能够细粒度地管制要测试的测试用例;

 3、可能反对简略的单元测试和简单的功能测试,比方web端selenium/挪动端appnium等自动化测试、request接口自动化测试

 4、pytest具备很多第三方插件,并且能够自定义扩大,比方测试报告生成,失败重运行机制

 5、测试用例的skip和fail解决;

 6、联合业界最美的测试报告allure+Jenkins,继续集成

selenium:
基于JavaScript代码库的自动化测试框架,通过脚本语言,模仿用户行为操作,最靠近用户实在场景,实现对web自动测试。

Selenium,是目前的最火爆企业最支流的webUI自动化框架

环境搭建
pip install -U pytest

pytest-xdist #多线程

pip install -U pytest-rerunfailures   #重试运行cases

pip install  pytest-html #生成测试报告

pytest –version # 会展现以后已装置版本

编写规定
编写pytest测试样例非常简单,只须要依照上面的规定:

 测试文件以test_结尾(以_test结尾也能够)

 测试类以Test结尾,并且不能带有 init 办法

 测试函数以test_结尾

 断言应用根本的assert即可

selenium+pytest案例实操
 import pytest # 引入pytest包

 def test_a(): # test结尾的测试函数

     print(“——->test_a”)

     assert 1 # 断言胜利

 def test_b():

     print(“——->test_b”)

     assert 0 # 断言失败

 if name == ‘__main__’:

        pytest.main([‘-s’, ‘class01.py’])

能够蕴含一个或多个Test结尾的测试类,test_结尾的函数

1.测试类主函数模式

  pytest.main([‘-s’, ‘test.py’])

2.命令行模式运行

  pytest 文件门路/测试文件名

3. 扩大插件

3.1. 测试报告: pytest-html

pytest.main([‘-s’,’test.py’,’–html=./report/result.html’])

示意以后门路下生成report文件夹,result.html文件

批量运行用例:pytest-xdist

pytest.main([‘-s’,’test.py’,’–html=./report/result.html’,’-n=2′])

-n=2 示意2个线程并发运行所有的测试用例

allure测试报告:allure-pytest

运行用例:pytest.main([‘-s’, ‘-q’, ‘–alluredir’, ‘./report/xml’])

                 pytest 测试指标文件 –alluredir 数据目录

                运行后的后果,是生成xml的数据汇合

生成报告:allure generate –clean ./report/xml/ -o ./results/html/

         第一个是数据集目录,第二个是生成报告目录

        -o是指向指标生成测试报告的目录;

4.conftest配置
当自动化用例越来越宏大的时候,很多用例的数据能够共享,复用,让用例脚本可读性,维护性更高,比方登录等

conftest.py 配置里能够实现数据共享,比方py跨文件共享前置

conftest.py配置脚本名称是固定的,不能改名称

不须要import导入 conftest.py,pytest用例会主动查找

自从应用了pytest框架,爱了爱了,深深的感触到它的可扩展性和灵活性,老板再也不必放心我的自动化效率低

以上就是本次分享的全部内容,当初想要学习编程的小伙伴欢送关注Python技术大本营,获取更多技能与教程。

【腾讯云】云产品限时秒杀,爆款1核2G云服务器,首年50元

阿里云限时活动-2核2G-5M带宽-60G SSD-1000G月流量 ,特惠价99元/年(原价1234.2元/年,可以直接买3年),速抢

本文由乐趣区整理发布,转载请注明出处,谢谢。

您可能还喜欢...

发表评论

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据