pytest-学习笔记-脚本封装
=========================================》pytest脚本的封装小结《===========================================
1、类封装准备工作:
封装脚本之前需要先跑通脚本
创建pytest文件:需要以'test_'开头
创建类:
需要:class Test_ 开头
一般而言一个测试对象一个类
创建方法:
test_ 开头
执行顺序按照ascii码顺序执行:
2、pytest脚本优化(释放冗余的代码)
前置方法:
每个测试方法都需要提前处理
初始化方法:setup_method():
数据驱动技术:
标签:@pytest.mark.parametrize()
或者使用yaml等数据存储库
后置方法:
方法完成之后的回收工作
teardowm_method():
3、pytest的运行方式
pycharm运行 设置pytest方式
命令运行 pytest -s 需要运行的文件名称::可以跟class或者class下的方法
__main__方法运行
if __name__ == '__main__':
pytest.main(['-s','文件名'])
==============================================》结束《================================================
import pytest
一、setup初始化操作
pytest -s 文件名称 :执行指定的文件并输出打印语句
定义一个函数setup_method():内容就是初始化的部分,比如说登陆,下面每次执行其他的方法之前都会执行一下setup方法
setup_method()方法的作用于在当前的类里面class
class Test_login():
def setup_method(self):
self.url = 'https://www.baidu.com'
def test_login_01(self):
# 引用其他函数里面的参数可以使用self.url
print(self.url)
def test_login_02(self):
print('这是第二个')
二、pytest参数化:数据驱动--
@pytest.mark.parametrize('参数名','参数值')多个的时候使用(1,2,3,4,5,6)
@pytest.mark.parametrize('a',(1,2,3,4))
@pytest.mark.parametrize('a,b,c',([1,2,3],[5,6,7],[9,7,5],[7,8,9]))
下面的函数自动调用的时候会循环调用执行
# 通过main函数执行pytest文件
if __name__ == '__main__':
pytest.main(['-s','文件名称']) #[里面是命令,使用“,”隔开]