python测试框架pytest,pytest 框架
1.设置环境1。首先使用pip安装pytest。
pip安装pytest
安装PyTest-HTML原生态报告模板
2.检查pytest是否安装成功。
pip显示pytest
2.Pytest执行测试用例1。使用pytest执行测试用例时要遵守的规则:
1.的。py测试文件必须以_test开头(或以_test结尾)
2.测试类必须以Test开头,并且不能有init方法。
3.测试方法必须以test_开始
4.断言必须用于断言。
2.在2.pytest中有四种类型的安装和拆卸:
1.setup_module和teardown_module只会在整个测试用例所在的文件中的所有方法前后运行一次;
2.setup_class和teardown_class在整个文件中的一个类中的所有用例之前和之后运行;
3.setup_method和teardown_method在类中的每个方法之前和之后运行;
4.setup_function和teardown_function在每个不从属于class的测试方法前后运行;
三。数据驱动——pytest参数化用例使用方法
@pytest。温暖的冬日。参数化(参数名,参数值)
Argnames:参数化的变量名,可以是字符串(逗号分隔)、列表和元组类型。
@pytest。温暖的冬日。参数化(" A,B ",[(1,2),(3,4)])
@pytest。温暖的冬日。参数化(["A "," B"],[(1,2),(3,4)])
@pytest。温暖的冬日。参数化((“A”,“B”),[(1,2),(3,4)])
Argvalues:参数化值参数化实例1
Pytest类test _ demo (): @ pytest。暖冬。parameterize( a,b,result ,[(1,1,2),(2,8,10)]) def test _ case1 (self,a,b,result): print (\)
Pytest #参数化@pytest。温暖的冬日。parameterize( a,b,result ,[(1,1,2),(2,3,5),(100,200,300)],ids=[int0 , int1 ,Int2]) #修改后的结果显示名称deftest _ add (a,b,result):cal=calculator()assert cal . add(a,b)==result参数化实例2
Pytestimport YAML类test _ demo (): @ pytest。温暖的冬日。parameter ize([ a , b , result],yaml.safe _ load (open(。/data . YAML ))def test _ case 1(self,a,B,result):print( \ n开始执行测试用例1 )断言a b==result参数化实例3
驱动数据参数化的应用。数据量小的测试用例可以通过代码参数化来驱动。数据量大的情况下,结构化文件(如csv、yaml、xml、db、excel、json等。)可以用来存储数据,然后可以在测试用例中读取数据。数据驱动
#1、从tools.excelcontrol中读取excel数据从lib.apilib.login中导入get _ exceldata导入login导入pytest impos # reslist=get _ excel data(登录模块,登录)#1-封装测试类class TestLogin: #1-登录接口#参数化-数据驱动# in body,respdata ,[(B1,R1),(B2,R2),()] @ pytest。温暖的冬日。parameterize( inBody,resp data )Get _ excel data( log in module , login)) def test _ login (self,in body,resp data):# test method :param in body:request body:param resp data:response data:return: # 1-调用登录方法res=login()。登录(正文)打印(- ) #2-。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。