执行测试case,提前通过数据准备,如excel数据,依赖数据等
for i in range(1,rows_count):
is_run = self.data.get_is_run(i)
1.获取是否执行,此参数excel中说明
if is_run: 执行:是
通过data封装获取url的方法
url = self.data.get_request_url(i)
通过data封装后去method方法
method = self.data.get_request_method(i)
通过data封装后获取json请求数据,如post方法对应的json格式请求数据
request_data = self.data.get_data_for_json(i)
通过data方法获取封装的sql方法,用于获取sql校验期望结果
expect = self.data.get_expcet_data_for_mysql(i)
通过data判断请求是否带有请求头
header = self.data.is_header(i)
通过data判断请求是否依赖其他测试case
depend_case = self.data.is_depend(i)
// 如果数据依赖case存在,比如前置依赖case,通过None判断
if depend_case != None:
获取的依赖响应数据
self.depend_data = DependdentData(depend_case)
depend_response_data = self.depend_data.get_data_for_key(i)
depend_key = self.data.get_depend_field(i)
request_data[depend_key] = depend_response_data
根据header判断测试用例执行情况,如执行失败用例,执行成功用例
if header == 'write':
res = self.run_method.run_main(method,url,request_data)
op_header = OperationHeader(res) //获取请求返回数据
op_header.write_cookie() //请求头中写入cookie
elif header == 'yes':
op_json = OperetionJson('../dataconfig/cookie.json') //获取cookie json文件
cookie = op_json.get_data('apsid') //获取cookie
cookies = {
'apsid':cookie
} //通过json格式赋值,获取返回数据res
res = self.run_method.run_main(method,url,request_data,cookies)
else:
res = self.run_method.run_main(method,url,request_data)
//根据res获取校验对应的期望值,并且判断通过的用例和失败的用例
if self.com_util.is_equal_dict(expect,res) == 0:
self.data.write_result(i,'pass')
//当期望值和实际值一致,则增加通过用例数量1
pass_count.append(i)
else:
//当期望值和实际值一致,则增加失败用例数量1
self.data.write_result(i,res)
fail_count.append(i)
//通过调用发邮件函数,将失败用例和成功用例写入邮件
self.send_mai.send_main(pass_count,fail_count)
网友评论