目录:导读
前言
测试用例参数化
Pytest中装饰器@pytest.mark.parametrize(‘参数名’,list)可以实现测试用例参数化
如何使用?
第一个参数是字符串,多个参数中间用逗号隔开;
第二个参数是list,多组数据用元祖类型;传三个或更多参数也是这样传。list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应;
传一个参数 @pytest.mark.parametrize(‘参数名’,list) 进行参数化;
传两个参数@pytest.mark.parametrize(‘参数名1,参数名2’,[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化
参数2_data[1])]) 进行参数化;
1、单参数数据驱动-1个参数1个值
示例代码:test_pytest.py
import pytest
# 一个参数一个值
@pytest.mark.parametrize("number", [0,1])
def test_case1(number):
assert number==1
if __name__ == '__main__':
pytest.main(["-s", "-v", "-k","test_pytest.py"])
2、多参数数据驱动-多参数多个值
示例代码:
import pytest
import time
@pytest.mark.baidu
class TestBaidu :
def setup_method(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(30)
self.base_url = "http://www.baidu.com/"
@pytest.mark.parametrize('search_string,expect_string',[('iTesting',<