IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 2021-07-28 -> 正文阅读

[开发测试]2021-07-28

#pytest 框架实现一些前后置的处理,常用的三种方法

一,setup/teardown

setup /teardown 在每个用例前后都会执行

import pytest
class TestLogin:
    #在所有的用例之前只执行一次
    def setup_class(self):
        print('在每个类执行钱的初始化的工作:例如:创建日志对象,创建数据库的连接请求对象')
    #在每条用例之前都执行一次
    def setup(self):
        print('打开浏览器')
    @pytest.mark.run(order=1)
    def test_01_mingtian(self):
        print('明天')
    @pytest.mark.run(order=3)
    def test_01_jintian(self):
        print('晴天')
    @pytest.mark.skip
    @pytest.mark.run(order=2)
    def test_01_zuotian(self):
        print('昨天')
    def teardown(self):
        print('\n关闭浏览器')
    def teardown_class(self):
        print('\n 在每个类执行后的扫尾工作:例如:销毁日志对象,销毁数据库的连接')
if __name__ == '__main__':
    pytest.main(['test_case.py','-s'])

使用@pytest.fixture() 装饰器来实现***部分***用例的前后置

pytest.fixture(scope,params,autouse,ids,name)
  1. scope 表示的是被pytest.fixture 标记的方法的作用域。function(默认),class,module,package/session
class TestOffice:
    #autouse 默认为False,如果为True,就表示默认调用了前后置方法
    @pytest.fixture(scope='class',autouse='True',)
    def my_fixture(self):
        print('\n这是一个前置方法')
        yield
        print('\n这个是一个后置方法')
    def test_01_jintian(self):
        print('\n今天')
    def test_02_mingtian(self,my_fixture):
        print('\n明天')
if __name__ == '__main__':
    pytest.main(['test_office.py','-s'])

  1. params :参数化(支持,[],(),[{},{}],({},{}))
import pytest
class TestOffice:
    #autouse 默认为False,如果为True,就表示默认调用了前后置方法
    @pytest.fixture(scope='function',params=['王一一','王一二'])
    def my_fixture(self,request):    #request :用于传参
        print('前置')
        yield request.param
        print('后置')
    def test_01_jintian(self):
        print('\n今天')
    def test_02_mingtian(self,my_fixture):
        print('\n明天')
        print('----'+str(my_fixture))
if __name__ == '__main__':
    pytest.main(['test_office.py','-s'])

params=[[‘王一一’,‘王一二’]] 这里的params是参数名,是有s
request.param 这里是属性名,不带s

预期结果

test_office.py::TestOffice::test_01_jintian 
今天
PASSED
test_office.py::TestOffice::test_02_mingtian[\u738b\u4e00\u4e00] 前置

明天
----王一一
PASSED后置

test_office.py::TestOffice::test_02_mingtian[\u738b\u4e00\u4e8c] 前置

明天
----王一二
PASSED后置
  1. autouse=True: 自动使用,默认False
  2. ids: 当使用params 参数化时,给每一个值设置一个变量名,意义不大
  3. name:给被@pytest.fixture 标记的方法取一个别名,当去了别名后,原来的名称不能使用

三,通过conftest.py 和pytest.fixture()结合使用实现***全局***的前置应用(比如:项目的全局登陆,模块的全局处理)

1,conftest.py 文件时单独存放的一个夹具配置文件,名称不能更改
2, 用处可以在不同的py文件中使用同一个fixture函数
3,原则上conftest.py 需要和运行的用例放再同一层,并且不需要做任何import 操作。

总结:
setup/teardown, setup_class/teardown_class 作用于所有用例或者所有的类
@pytest.fixtrue(), 它的作用时既可以部分,也可以全部前后置
conftest.py 和@pytest.fixtrue()结合使用,作用域全局的前后置

四.断言

assert 1==2

五 . pytest 结合allure-pytest 插件生成allure测试报告

pytest-html
allure-pytest

  1. 生成json格式的临时报告

    --alluredir ./temp
    
  2. 生成allure报告

    	 os.system('allure generate ./temp -o ./report --clean')
    	 allure generate   命令,固定的
    	 ./temp                 临时的json 格式报告的路径
    	  -o                       输出output
    	  ./report              生成allure 报告的路径
    	  --clean               清空./report 路径原来的报告
    
  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-07 12:23:20  更:2021-08-07 12:24:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/3 2:27:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码