Python自动化之pytest.mark.parametrize参数化

一、前言

  Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT。 如:@pytest.mark.parametrize('method,url,data,except',[('get','www.baidu.com','{"page":1}','{"code":0,"msg":"成功"})',('post','www.baidu.com','{"page":2}','{"code":0,"msg":"成功"}')])

二、参数说明

  @pytest.mark.parametrize('参数名',list)

  (1)第一个参数是字符串,多个参数中间用逗号隔开

  (2)第二个参数是list,多组数据用元祖类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应

  (3)传一个参数 @pytest.mark.parametrize('参数名',list) 进行参数化

  (4)传两个参数@pytest.mark.parametrize('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化

三、使用方法

  1.单参数传单值,多值

  

 

   2.多参数传递多值

    参数名是一个字符串,多参数用英文逗号隔开

  

 

 

  

 

   

 

posted @ 2022-07-11 16:01  童薰  阅读(236)  评论(0编辑  收藏  举报