def checkResult(self): url = geturlParams().get_url(readconfig.get_http('baseurl_first'), self.request_path) # 调用我们的geturlParams获取我们拼接的url new_url = url + self.request_data data = dict(urllib.parse.parse_qsl( urllib.parse.urlsplit( new_url).query)) # 将一个完整的URL中的name=&password=转换为{'username':'******','password':'******'} # 调用util进行加密 page = util.md5_join_b64(data.get("page", "")) type = util.md5_join_b64(data.get("type", "")) # # 把加密后的值在替换到相应的位置 data["page"] = page data["type"] = type info = RunMain().run_main(self.request_method, url,data=data) # 根据Excel中的method调用run_main来进行requests请求,并拿到响应 ss = info.json() # 根据Excel中的method调用run_main来进行requests请求,并拿到响应 if self.case_name == 'taskTypeInfo_success': # 如果case_name是login,说明合法,返回的code应该为200 self.assertEqual(self.expect_code, ss['code']) # 数据库断言,判断taskTypeInfo响应列表的长度是否与m_project查询的长度一致 now_time=time.time() sql="SELECT * FROM `m_project` WHERE `expire_time` > {} AND `stat` = 1 AND `type` IN ('21') ORDER BY create_time desc LIMIT 0,15".format(now_time) # 加数据库 res = db.check_user(sql) len01=len(res) self.assertEqual(len01,len(ss["data"])) if self.case_name == 'taskTypeInfo_error': # 同上 self.assertEqual(self.expect_code, ss['code'])
def test_researchreport_list_01(self): """参数有tycoon_id,返回大咖主页研报""" timeStamp = int(time.mktime(datetime.now().timetuple())) data = '{"app_version":"%(version)s",' \ '"os_type":1,' \ '"os_version":"9",' \ '"mac_address":"02:00:00:00:00:00",' \ '"device_id":"802ca0fba119ab0a",' \ '"tycoon_id":%(tycoon_id)d,' \ '"query_type":"all",' \ '"timestamp":%(timeStamp)d,' \ '"app_key":"%(app_key)s"' \ '}' % { 'version': version, 'tycoon_id': self.researchreport_detail["tycoon_id"], 'timeStamp': timeStamp, 'app_key': app_key} sign = get_Sign().encrypt(data, True)["sign"] data = data.replace('}', ',"sign":"%s"}' % sign) crypt_data = aes.encrypt(data, 'c_q') form = {'data': crypt_data, 'encode': 'v1'} response = requests.post(self.url, data=json.dumps(form), headers=headers) researchreport_all = RunMain().decrypt_to_dict(response, 'r') # - charge 列表为收费研报 # - free 列表为免费研报 title_list = [] for free_page in ["free", "charge"]: if free_page in researchreport_all.keys(): for researchreport in researchreport_all[free_page]: title_list.append(researchreport["title"]) msg = f'大咖id为{self.researchreport_detail["tycoon_id"]},大咖的研报应该包含{self.researchreport_detail["title"]}' self.assertIn(self.researchreport_detail["title"], title_list, msg)
def xcx_order(self): data = json.loads(self.data) if self.case_name == "getOrder": info = RunMain().run_main(self.method, url + self.path + "?token=xcxlogin%3A16e265ff-ff1f-4ab1-a998-1f6325c8a357&status=&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058", data) res = json.loads(info) self.assertEqual(res['Code'], "000000") print("-----全部订单------") if self.case_name == "getReadyPayOrder": info = RunMain().run_main(self.method, url + self.path + "?token=xcxlogin%3A16e265ff-ff1f-4ab1-a998-1f6325c8a357&status=1&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058", data) res = json.loads(info) self.assertEqual(res['Code'], "000000") print("-----待付款订单------") if self.case_name == "getReadySendOrder": info = RunMain().run_main(self.method, url + self.path + "?token=xcxlogin%3A16e265ff-ff1f-4ab1-a998-1f6325c8a357&status=2&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058", data) res = json.loads(info) self.assertEqual(res['Code'], "000000") print("-----待发货订单------")
def checkResult(self):# 断言 """ check test result :return: """ new_url = self.url + self.path # data1 = dict(urllib.parse.parse_qsl(urllib.parse.urlsplit(new_url).query))# 将一个完整的URL中的name=&pwd=转换为{'name':'xxx','pwd':'bbb'} headers = {'Content-Type': 'application/json; charset=UTF-8'} result = RunMain().requests(self.method, new_url, self.params,headers)# 根据Excel中的method调用run_main来进行requests请求,并拿到响应 status = RunMain().getValue(result,'status') if self.assertEqual(self.status,status)== False: print(self.case+'测试失败') logger.info(self.case+'测试失败!') logger.info('断言失败:'+'exp='+self.status+'实际请求='+status) else: if status == 1: token = RunMain().getValue(result, 'token') userid = RunMain().getValue(result, 'userid') targetid = RunMain().getValue(result, 'targetid') ReadConfig().set_value('token',token) ReadConfig().set_value('userid', userid) ReadConfig().set_value('targetid', targetid) print(self.case + '测试通过') logger.info(self.case + '测试通过!') else: logger.info(self.case + '测试通过!') print(self.case+'测试通过')
def xcx_order(self): data = json.loads(self.data) if self.case_name == "getOrder": info = RunMain().run_main(self.method, url + self.path + "?token=xcxlogin%3A7b51c26e-43a2-4f7b-91b4-53c9f757961e&status=&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058", data) res = json.loads(info) self.assertEqual(res['Code'], "000000") print("-----全部订单------") if self.case_name == "getReadyPayOrder": info = RunMain().run_main(self.method, url + self.path + "?token=xcxlogin%3A7b51c26e-43a2-4f7b-91b4-53c9f757961e&status=1&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058", data) res = json.loads(info) self.assertEqual(res['Code'], "000000") print("-----待付款订单------") if self.case_name == "getReadySendOrder": info = RunMain().run_main(self.method, url + self.path + "?token=xcxlogin%3A7b51c26e-43a2-4f7b-91b4-53c9f757961e&status=2&AppInfoCode=code001&MerchantId=645d5071-1c22-4161-a093-7566f5cca058", data) res = json.loads(info) self.assertEqual(res['Code'], "000000") print("-----待发货订单------")
def test_tycoon_list_01(self): """参数有tycoon_id,返回单个大咖信息""" timeStamp = int(time.mktime(datetime.now().timetuple())) data = '{"app_version":"%(version)s",' \ '"os_type":1,' \ '"tycoon_id":%(tycoon_id)d,' \ '"os_version":"9",' \ '"mac_address":"02:00:00:00:00:00",'\ '"device_id":"802ca0fba119ab0a",' \ '"limit":1,' \ '"timestamp":%(timeStamp)d,' \ '"app_key":"%(app_key)s"' \ '}' % { 'version': version, 'tycoon_id': self.tycoon_detail["id"], 'timeStamp': timeStamp, 'app_key': app_key} sign = get_Sign().encrypt(data, True)["sign"] data = data.replace('}', ',"sign":"%s"}' % sign) crypt_data = aes.encrypt(data, 'c_q') form = {'data': crypt_data, 'encode': 'v1'} response = requests.post(self.url, data=json.dumps(form), headers=headers) print(RunMain().decrypt_to_dict(response, 'r')) tycoon_name = RunMain().decrypt_to_dict(response, 'r')[0]["name"] self.assertEqual(self.tycoon_detail["name"], tycoon_name, "大咖姓名应该是{0}".format(self.tycoon_detail["name"]))
def get_response_tycoon_video(self, response): video_id_list = [] video_all = RunMain().decrypt_to_dict(response, 'r') for key in video_all.keys(): for video in video_all[key]: video_id_list.append(video["id"]) return video_id_list
def hotsearch_list_video(self, content, category): time.sleep(1) timeStamp = int(time.mktime(datetime.now().timetuple())) data = '{"content_id": %(content_id)d, ' \ '"content_type": %(content_type)d, ' \ '"os_type": 1, ' \ '"app_version": "%(version)s", ' \ '"timestamp":%(timeStamp)d,' \ '"app_key":"%(app_key)s"}' % { 'content_id': content["content_id"], 'content_type': content["content_type"], 'version': version, 'timeStamp': timeStamp, 'app_key': app_key} sign = get_Sign().encrypt(data, True)["sign"] data = data.replace('}', ',"sign":"%s"}' % sign) crypt_data = aes.encrypt(data, 'c_q') form = {"data": crypt_data, "encode": "v1"} headers = RunMain().headers() url = baseurl + "/cms/v1.2/video" response = requests.post(url=url, data=json.dumps(form), headers=headers) msg = "搜索页面{0}页签的{1}视频无法点播".format(category, content["title"]) self.assertEqual(200, response.status_code, msg=msg) response_data = RunMain().decrypt_to_dict(response, 'r') self.assertEqual(content["content_id"], response_data['id'], msg=msg)
def checkResult(self): url = self.url + self.path result = RunMain().run_main(self.method, url, self.params) exp = RunMain().getValue(result, 'message') #print('请求的message:'+ exp+'读取的message:'+self.msg) #self.assertEqual(exp,self.msg) if self.assertEqual(exp, self.msg) is 'False': log.info('断言失败:' + 'exp=' + exp + 'msg=' + self.msg)
def test_a_run(self): #self.assertEqual(1,1) param = {'type': 'yuantong', 'postid': '806063787827863801'} result = RunMain().run_main('post', 'http://www.kuaidi100.com/query', param) res = RunMain().getValue(result, 'message') value = self.assertEqual('ok', str(res)) print(res, '结果:', value)
def test_register(self, data_item): # 调用configHttp runmanin result = RunMain().run_main(data_item['method'], data_item['url'], data) message = RunMain().getValue(result, 'expectValue') try: print(message) self.assertEqual(data_item['msg'], message) except AssertionError as e: print('Failed') raise e
def checkResult(self): # 断言 new_url = url + self.path info = RunMain().run_main(self.method, url=new_url, headers=self.header, data=self.query) code = info.json() if self.case_name == 'login1': self.assertEqual(info.status_code, 200) self.assertEqual(json.dumps(code), self.result) print('请求结果: {}'.format(code)) log.info('请求结果: {}'.format(code)) if self.case_name == 'login2': self.assertEqual(info.status_code, 200) print('请求结果: {}'.format(code)) log.info('请求结果: {}'.format(code))
def checkResult(self): # 断言 new_url = url + self.path # new_url_data = new_url + "?" + self.query # data1 = dict(urllib.parse.parse_qsl( # urllib.parse.urlsplit(new_url_data).query)) # 将一个完整的URL中的name=&pwd=转换为{'name':'xxx','pwd':'bbb'} if self.method == 'post_cookies' or self.method == 'post': info = RunMain().run_main( self.method, new_url, json.loads(self.query), 'pc') # 根据Excel中的method调用run_main来进行requests请求,并拿到响应 elif self.method == 'get_cookies' or self.method == 'get': info = RunMain().run_main(self.method, new_url, self.query, 'pc') ss = json.loads(info) # 将响应转换为字典格式 #提交订单 if self.case_name == 'order_class': Assertions.assert_body(self, ss, 'status', 2)
def chechResult(self): url = geturlParams().get_url(readconfig.get_http('baseurl_first'), self.request_path) # 调用我们的geturlParams获取我们拼接的url new_url = url + self.request_data data = dict(urllib.parse.parse_qsl( urllib.parse.urlsplit( new_url).query)) # 将一个完整的URL中的name=&password=转换为{'username':'******','password':'******'} info = RunMain().run_main(self.request_method, url, data) # 根据Excel中的method调用run_main来进行requests请求,并拿到响应 ss = info.json() # 根据Excel中的method调用run_main来进行requests请求,并拿到响应 if self.case_name == 'addProjectAudit_success': # 如果case_name是login,说明合法,返回的code应该为200 self.assertEqual(self.expect_code, ss['code']) # 数据表断言,检查接口是否新增成功,是否写入到表 self.assertTrue(db.check_user(read_data[1].replace("\n",""))) if self.case_name == 'addProjectAudit_error': # 同上 self.assertEqual(self.expect_code, ss['code'])
def test_checkResult(self): """ check test report :return: """ cu.execute(self.sql) da = cu.fetchall() if self.case_name.startswith("类型不关联任务"): task_type = da[0][0] get_query = json.dumps(dict(eval(self.query))) get_url = url + self.path req = RunMain().run_main(self.method, get_url, get_query.encode('utf-8')) data = json.loads(req.text) res = json.dumps(data, ensure_ascii=False, indent=1) print("url:" + get_url + "\n" + "query:\n" + self.query) print("\n接口返回数据:\n\n" + res + "\n") elif self.case_name.startswith("添加已有"): get_url = url + self.path req = RunMain().run_main(self.method, get_url, self.query.encode('utf-8')) data = json.loads(req.text) res = json.dumps(data, ensure_ascii=False, indent=1) print("url:" + get_url + "\n" + "query:\n" + self.query) print("\n接口返回数据:\n\n" + res + "\n") else: get_url = url + self.path req = RunMain().run_main(self.method, get_url, self.query.encode('utf-8')) data = json.loads(req.text) res = json.dumps(data, ensure_ascii=False, indent=1) print("url:" + get_url + "\n" + "query:\n" + self.query) print("\n接口返回数据:\n\n" + res + "\n") # # self.assertEqual(req.status_code,self.status_code) # self.assertEqual(data['code'],self.code) # self.assertEqual(data['msg'],self.msg) # print("结果数据为:\n" + str(req.status_code) + "," + str(data['code']) + "," + str(data['msg'])) # print("基线数据为:\n" + str(self.status_code) + "," + str(self.code) + "," + str(self.msg) + "\n") logger.info(req) logger.info(str(self.case_name)) logger.info(data) return res
def login(self, method, url, data, header=None): """登录接口""" response = RunMain().run_main(method=method, url=url, data=data, header=header) return response
def update_consultation(self, header=None): """编辑咨询""" url = "http://test.api.neurongenius.com/api/v1/consultationInfo/update" data = { "nowPill": [], "nowPillRemark": "", "channelType": [], "channelTypeRemark": "", "diagnosis": [], "proIds": [], "proTypes": [], "purposeProIds": [], "purposeTypes": [], "bellState": "", "monthState": "", "sleepState": "", "plasticRemark": "", "undealRemark": "", "handleRemark": "该条信息最后会被删除,不会影响到业务", "customerRemark": "测试新增咨询接口", "id": "2d8aff5e85b36427ac65b18a1a57c000", "customerId": "4bfe6fe44f680b508b84870ed10cdb7f", "consultationReceptionType": "1" } method = 'post' data = str(data).encode() response = RunMain().run_main(method=method, url=url, data=data, header=header) return response
def add_consultation(self, header=None): """新建咨询""" url = 'http://test.api.neurongenius.com/api/v1/consultationInfo/add' data = { "nowPill": [], "nowPillRemark": "", "channelType": [], "channelTypeRemark": "", "diagnosis": [], "plasticFlag": 1, "bellState": "", "monthState": "", "sleepState": "", "undealRemark": "", "handleRemark": "测试新建咨询是否成功", "customerRemark": "会尝试删除,不会影响业务", "id": "", "proIds": [], "proTypes": [], "purposeProIds": [], "purposeTypes": [], "toUserId": "", "ifExit": 0, "consultationReceptionType": "1", "customerId": "4bfe6fe44f680b508b84870ed10cdb7f" } method = 'post' data = str(data).encode() response = RunMain().run_main(method=method, url=url, data=data, header=header) return response
def test_minutelylist_01(self): """正确的参数""" timeStamp = int(time.mktime(datetime.now().timetuple())) access_token = md5.encrypt_md5(timeStamp) data = '{"app_version":"%(version)s",' \ '"os_type":1,' \ '"app_key":"xdThhy2239daax",' \ '"access_token":"%(access_token)s",' \ '"timestamp":%(timeStamp)d,' \ '"installation_id":1904301718321742,' \ '"stock_code":"sh000001"' \ '}'% { 'version': version, 'access_token': access_token, 'timeStamp': self.timeStamp} sign = get_Sign().encrypt(data, True)["sign"] data = data.replace('}', ',"sign": "%s"}' % sign) crypt_data = aes.encrypt(data, 'c_q') form = {"data": crypt_data, "encode": "v1"} response = requests.post(self.url, data=json.dumps(form), headers=headers) response_stock = RunMain().decrypt_to_dict(response, 'r')["minutely"][0] self.assertEqual("sh000001", response_stock["stock_code"], "上证股票号码应该sh000001")
def checkResult(self): # 断言 """ check test result :return: """ url1 = url + self.path print(url1) new_url = url1 + "&" + self.query data1 = dict( urllib.parse.parse_qsl(urllib.parse.urlsplit(new_url).query)) # 将一个完整的URL中的name=&pwd=转换为{'name':'xxx','pwd':'bbb'} info = RunMain().run_main(method=self.method, url=url, data=data1) # 根据Excel中的method调用run_main来进行requests请求,并拿到响应 ss = json.loads(info) # 将响应转换为字典格式 if self.case_name == 'test_getAvailableCoupons_normal': # 断言 self.assertEqual(ss['code'], 0) self.assertIn(ss['msg'], '操作成功') if self.case_name == 'test_getAvailableCoupons_noToken': self.assertIn(ss['msg'], '未登录') if self.case_name == 'test_getAvailableCoupons_noUserId': self.assertIn(ss['msg'], '未登录') if self.case_name == 'test_getAvailableCoupons_noInfo': self.assertIn(ss['msg'], '下单信息传参不能为空') if self.case_name == 'test_getShoppingCart_noAll': self.assertIn(ss['msg'], '下单信息传参不能为空')
def test_logout_02(self): """headers中不包含token""" timeStamp = int(time.mktime(datetime.now().timetuple())) access_token = md5.encrypt_md5(timeStamp) headers = RunMain.headers(self) data = '{"app_version":"%(version)s",' \ '"access_token":"%(access_token)s",' \ '"os_type":1,' \ '"timestamp":%(timeStamp)d,' \ '"provider":1,' \ '"app_key":"ddfsweer",' \ '"device_id":"802ca0fba119ab0a",' \ '"country_code":"+86",' \ '"installation_id":1904301718321742,' \ '"longitude":108.90823353286173,' \ '"latitude":34.21936825217505,' \ '}' % { 'version': version, 'access_token': access_token, 'timeStamp': timeStamp} data = get_Sign().encrypt(data) response = requests.post(self.url, data=json.dumps(data), headers=headers) self.assertEqual(500, response.json()['err_code'], "接口返回的err_code应为500")
def test_user_openapi(self): """ 获取Iam认证-openapi """ # 测试数据准备 self.method = 'get' self.path = '/uos/oss' self.params = { 'Action': 'iamAndValidatedUser', 'UserAccessKeyId': readconfig.get_params('accessKey') } # 生成请求signature signature = Signature.sign(data=self.params, ak=readconfig.get_params('accessKey'), sk=readconfig.get_params('secretKey'), method='GET') # 添加ak 与 signature 参数 self.params.setdefault('AccessKeyId', readconfig.get_params('accessKey')) self.params.setdefault( 'Signature', urllib.parse.unquote(signature)) # python 会对参数自动进行编码,所以先进行解码 new_url = openapiUrl + self.path print(new_url) info = RunMain().run_main(self.method, url=new_url, data=self.params) ss = json.loads(info) # 将响应转换为字典格式 self.assertEqual(ss['code'], '0')
def test_update_01(self): """正确的请求参数""" timeStamp_login = int(time.mktime(datetime.now().timetuple())) headers = RunMain().headers_token(timeStamp_login) timeStamp = int(time.mktime(datetime.now().timetuple())) access_token = md5.encrypt_md5(timeStamp) data = '{"app_version":"%(version)s",' \ '"access_token":"%(access_token)s",' \ '"os_type":1,' \ '"timestamp":%(timeStamp)d,' \ '"app_key":"%(app_key)s",' \ '"installation_id":1904301718321742,' \ '"avatar" : "%(avatar)s"' \ '}' % { 'version': version, 'app_key': app_key, 'access_token': access_token, 'timeStamp': timeStamp, 'avatar': avatar} data = get_Sign().encrypt(data) response = requests.post(self.url, data=json.dumps(data), headers=headers) response_data = response.json() assert response_data['err_code'] == 0 and response_data['data'][ 'UserInfo']['avatar'] == avatar
def get_config_page_id(self): # id需要在config接口中返回 timeStamp = int(time.mktime(datetime.now().timetuple())) data = '{"os_type": 1,' \ '"app_key":"%(app_key)s",' \ '"os_version":"9",' \ '"carrier":3,' \ '"mac_address":"02:00:00:00:00:00",' \ '"device_id":"802ca0fba119ab0a",' \ '"imei":"869384032108431",' \ '"latitude":34.223866,' \ '"gcid":"dba9f3c2e8926564d3c930790c232bcf",' \ '"bssid":"4c:e9:e4:7d:41:c1",' \ '"longitude":108.909907,' \ '"installation_id":1904301718321742,' \ '"force_reload_user":true,' \ '"app_version":"%(version)s",' \ '"timeStamp":%(timeStamp)d}' % { 'app_key': app_key, 'timeStamp': timeStamp, 'version': version} sign = get_Sign().encrypt(data, True)["sign"] data = data.replace('}', ',"sign":"%s"}' % sign) crypt_data = aes.encrypt(data, 'c_q') form = {"data": crypt_data, "encode": "v1"} response = requests.post(url=baseurl + "/cms/v1.2/config", data=json.dumps(form), headers=headers) return RunMain().decrypt_to_dict(response, 'c_p')['pages'][0]['pages'][0]['id']
def test_video_01(self): """正确的请求参数""" timeStamp = int(time.mktime(datetime.now().timetuple())) data = '{"content_id": %(content_id)d, ' \ '"content_type": %(content_type)d, ' \ '"os_type": 1, ' \ '"app_version": "%(version)s", ' \ '"timestamp":%(timeStamp)d,' \ '"app_key":"%(app_key)s"}' % { 'content_id': self.content_video['id'], 'content_type': self.content_type, 'version': version, 'timeStamp': timeStamp, 'app_key': app_key} sign = get_Sign().encrypt(data, True)["sign"] data = data.replace('}', ',"sign":"%s"}' % sign) crypt_data = aes.encrypt(data, 'c_q') form = {"data": crypt_data, "encode": "v1"} response = requests.post(self.url, data=json.dumps(form), headers=headers) response_data = RunMain().decrypt_to_dict(response, 'r') msg = '上线剧集{0}的期望id是{1},实际id是{2}'.format(self.content_video["title"], self.content_video["id"], response_data["id"]) self.assertEqual(self.content_video["id"], response_data["id"], msg=msg)
def test_order_pullPostPayUsages(self): """ 运营平台拉量接口 """ print("pullPostPayUsages") a = datetime.datetime.now().strftime("%Y-%m-%d") + " %2d:00:00" % 1 time_array = time.strptime(a, "%Y-%m-%d %H:%M:%S") hour_stamp = int(time.mktime(time_array)) next_hour = hour_stamp + 3600 print(hour_stamp) # 接口数据准备 self.method = 'post' self.path = '/v1/oss/order/pullPostPayUsages' self.params = {} self.body = { 'regionId': '*', 'startTime': hour_stamp * 1000, 'endTime': next_hour * 1000, 'instanceIds': [readconfig.get_headers('uco-user-id')] } new_url = url + self.path info = RunMain().run_main(self.method, url=new_url, data=self.params, body=self.body) ss = json.loads(info) # 将响应转换为字典格式 self.assertEqual(ss['status'], True)
def test_page_01(self): """正确的请求参数""" timeStamp = int(time.mktime(datetime.now().timetuple())) data = '{"id": [%(page_id)d], "os_type":1,' \ '"app_version":"%(version)s",' \ '"timestamp":%(timeStamp)d,' \ '"page_alias":"",'\ '"installation_id":1901231425555756,'\ '"device_id":"40439d078e887033",'\ '"os_version":"8.1.0",'\ '"channel":"dopool",'\ '"app_key": "%(app_key)s"}' % { 'version': version, 'timeStamp': timeStamp, 'app_key': app_key, 'page_id' : self.get_config_page_id()} sign = get_Sign().encrypt(data, True)["sign"] data = data.replace('}', ',"sign":"%s"}' % sign) crypt_data = aes.encrypt(data, 'c_q') form = {'data': crypt_data, 'encode': 'v1'} response = requests.post(self.url, data=json.dumps(form), headers=headers) response_data = RunMain().decrypt_to_dict(response, 'r')[0] msg = '页面{0}的期望id是{1},实际id是{2}'.format(response_data['name'], self.get_config_page_id(), response_data['id']) self.assertEqual(self.get_config_page_id(), response_data['id'], msg=msg)
def test_order_getProductPaymentByUserAndRegion(self): """ 获取用户可用计费方式 """ print("getProductPaymentByUserAndRegion") # 接口数据准备 self.method = 'get' self.path = '/oss' self.headers = { 'uco-user-id': readconfig.get_headers('uco-user-id'), 'uco-user-name': readconfig.get_headers('uco-user-name') } self.params = { 'Action': 'getProductPaymentByUserAndRegion', 'regionId': readconfig.get_params('regionId'), 'productCode': 'OSS' } new_url = url + self.path info = RunMain().run_main(self.method, url=new_url, data=self.params, headers=self.headers) ss = json.loads(info) # 将响应转换为字典格式 self.assertEqual(ss['code'], '0')
def test_checkResult(self): """ check test report :return: """ get_url = url + self.path req = RunMain().run_main( self.method, get_url, self.query) # 根据Excel中的method调用run_main来进行requests请求,并拿到响应 data = json.loads(req.text) res = json.dumps(data, ensure_ascii=False, indent=1) print("url:" + get_url + "\n" + "query:\n" + self.query) print("\n接口返回数据:\n\n" + res + "\n") self.assertEqual(req.status_code, self.status_code) self.assertEqual(data['code'], self.code) self.assertEqual(data['msg'], self.msg) self.assertLessEqual(eval(self.data1), eval(self.data2)) #去除字符的双引号,断言 print("结果数据为:\n" + str(req.status_code) + "," + str(data['code']) + "," + str(data['msg'])) print("基线数据为:\n" + str(self.status_code) + "," + str(self.code) + "," + str(self.msg) + "\n") logger.info(req) logger.info(str(self.case_name)) logger.info(data) return res
def test_order_getResourceList(self): """ 获取有效资源包列表 """ print("getResourceList") # 接口数据准备 self.method = 'get' self.path = '/oss' self.headers = { 'uco-user-id': readconfig.get_headers('uco-user-id'), 'uco-user-name': readconfig.get_headers('uco-user-name') } self.params = { 'Action': 'getResourceList', 'regionId': readconfig.get_params('regionId'), 'page': '1', 'size': '10' } new_url = url + self.path info = RunMain().run_main(self.method, url=new_url, data=self.params, headers=self.headers) ss = json.loads(info) # 将响应转换为字典格式 self.assertEqual(ss['code'], '0')