20191011-构建我们公司自己的自动化接口测试框架-Util的getTestSuite模块
getTestSuite主要是用于在testData里面获取测试集以及对应的测试数据,包括2个主要的方法,一个是获取测试集,一个是获取测试集里面要执行的测试用例
获取测试集方法:
from Util.ParseExcel import * from ProVar.ProjConfigVar import * from Util.Log import * def get_test_case_sheet_names(test_data_excel_path): # 读取测试集里面要测试的sheet # 读取行号和需要执行的测试用例sheet名字以及执行模式 test_cases_wb = Excel(test_data_excel_path) test_cases_wb.set_sheet_by_index(1) test_case_to_be_run_sheet_names = [] for row in test_cases_wb.get_rows_values(): # 如果测试用例是否执行=是,记录当前用例到测试集里面 if row[Test_Suit_is_executed_col_no] is not None and row[Test_Suit_is_executed_col_no].lower() == "y": #1个序号和1个测试用例sheet名称组成一个元组 #多个元组放入到列表中,组成一个测试用例sheet的集合列表 test_case_to_be_run_sheet_names.append((row[Test_Suit_map_serials_col_no],row[Test_Suit_test_step_sheet_name_col_no],row[Test_Suit_is_executed_mode_col_no])) # 返回测试集 return test_case_to_be_run_sheet_names
获取测试用例方法:获取主要的测试数据,包括需要,请求方法,请求url,请求头,请求body,断言表,断言词,变量提取表达式,请求名字等,获取到这些数据后需要对这些数据进行处理,参加testdatahandler
def test_cases_from_test_data_sheet(test_data_excel_path,test_data_sheet_name): """获取具体测试用例的数据""" test_cases_wb = Excel(test_data_excel_path) test_cases_wb.set_sheet_by_name(test_data_sheet_name) # 读取所有的接口测试用例 test_cases = [] for row in test_cases_wb.get_rows_values(): if row[Test_Case_isExecute_col_no] is not None and row[Test_Case_isExecute_col_no].lower() == "y": # test_case 匹配api_request(method, baseurl, header, auth, body)5个参数 # test_case = [序号,请求方法,请求url,请求头,授权信息,请求body,断言结果,提取正则表达式] test_case = row[Test_Case_serials_col_no], row[Test_Case_action_col_no], row[Test_Case_baseurl_col_no],row[Test_Case_header_col_no],row[Test_Case_auth_col_no],row[Test_Case_body_col_no],\ row[Test_Case_assert_content_col_no],row[Test_Case_var_get_col_no],row[Test_Case_assert_word_col_no],row[Test_Case_name_col_no] test_cases.append(test_case) # print(test_cases) # 返回测试关键字 return test_cases