自动化之基于parameterized的测试数据参数化
记录一下在测试登录接口时如何实现参数化。
1、基于json文件实现参数化
# 构造测试数据 def build_data(): # 指定文件路径 json_file = "json文件路径" # 打开json文件 test_data = [] with open(json_file, encoding="utf-8") as f: json_data = json.load(f) for case_data in json_data: username = case_data.get("username") password = case_data.get("password") test_data.append((username, password)) print("test_data={}".format((username, password))) return test_data # 定义测试类 class TestLoginAPI(unittest.TestCase): # 前置处理 def setUp(self): pass # 后置处理 def tearDown(self): pass # 定义测试方法 @parameterized.expand(build_data) def test01_login(self, username, password): pass
2、基于数据库实现参数化
# 构造测试数据 def build_data(): sql = "select * from t_login" db_data = DBUtil.exe_sql(sql) print(db_data) test_data = [] for case_data in db_data: username = case_data[2] password = case_data[3] test_data.append((username, password)) print("test_data={}".format((username, password))) return test_data # 定义测试类 class TestLoginAPI(unittest.TestCase): # 前置处理 def setUp(self): pass # 后置处理 def tearDown(self): pass # 定义测试方法 @parameterized.expand(build_data) def test01_login(self, username, password): pass

浙公网安备 33010602011771号