def test_api_run(self,value,tovalue): '''测试用例''' # data 参数 self.value = value #参数值 self.tovalue = tovalue #预期结果 self.val = assertE.Tassert() self.log.info(u'------执行测试用例------') self.ret = Trequest(base_url=self.url, url_params=self.url_params, headers=self.headers) del value['case_name'] self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(json.dumps(self.value))) # a = self.value # b = {} # for (key,value) in a.items(): # b[key] = int(value) #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(type(b))) #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(b)) self.response = self.ret.post(data=json.dumps(self.value))#str(value).encode('utf-8') self.tcode = self.ret.get_code() #实际结果 self.log.info(u'请求结果:{}'.format(self.response.text)) self.log.info(u'------测试用例执行完成,f开始对比结果------') self.log.info(u'测试结果比对') self.log.info(u'预期结果:{0},实际结果:{1}'.format(self.tovalue,self.tcode)) self.log.info(u'打印参数:{}'.format(self.value)) self.log.info(u'预期message:{0},实际message:{1}'.format('ok',self.ret.get_message())) self.log.info(u'预期message code:{0},实际message code:{1}'.format('0',self.ret.get_response_message())) try: self.val.assert_value_valid(str(self.tcode), str(self.tovalue)) except AssertionError as f: self.log.info(u'本条用例执行失败,详细内容请查阅数据对比') raise f
class mytest(unittest.TestCase): #继承unittest.TestCase这个类 '''第二个接口测试''' log = Log() def __init__(self,methodName='runTest'): super(mytest, self).__init__(methodName) self.url = get_url() self.url_params = get_urlparams() self.headers = get_headers() def tearDown(self): print(u'单条用例执行完成') @classmethod def tearDownClass(self): #需要配合@classmethod装饰器一起使用。(在所有用例前后总共各执行一次。) print(u'第二个接口测试完成') @classmethod def setUpClass(self): #需要配合@classmethod装饰器一起使用。(在所有用例前后总共各执行一次。) print(u'接口测试第二个接口开始调用') @ddt.data (*Api_Data_read(r'C:\Users\EDZ\Desktop\ziyuanbao\untitled2\api_test\case\case2\Api_data2.xlsx','Api_data')) @ddt.unpack #如果有unpack,那么[a,b]被分解开,按照用例中的两个参数传递 def test_api_run(self,value,tovalue): '''测试用例''' # data 参数 self.value = value #参数值 self.tovalue = tovalue #预期结果 self.val = assertE.Tassert() self.log.info(u'------执行测试用例------') self.ret = Trequest(base_url=self.url, url_params=self.url_params, headers=self.headers) del value['case_name'] self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(json.dumps(self.value))) # a = self.value # b = {} # for (key,value) in a.items(): # b[key] = int(value) #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(type(b))) #self.log.info(u'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:{}'.format(b)) self.response = self.ret.post(data=json.dumps(self.value))#str(value).encode('utf-8') self.tcode = self.ret.get_code() #实际结果 self.log.info(u'请求结果:{}'.format(self.response.text)) self.log.info(u'------测试用例执行完成,f开始对比结果------') self.log.info(u'测试结果比对') self.log.info(u'预期结果:{0},实际结果:{1}'.format(self.tovalue,self.tcode)) self.log.info(u'打印参数:{}'.format(self.value)) self.log.info(u'预期message:{0},实际message:{1}'.format('ok',self.ret.get_message())) self.log.info(u'预期message code:{0},实际message code:{1}'.format('0',self.ret.get_response_message())) try: self.val.assert_value_valid(str(self.tcode), str(self.tovalue)) except AssertionError as f: self.log.info(u'本条用例执行失败,详细内容请查阅数据对比') raise f def runTest(self): pass