def myPayWay(surroundings, cookies): # 查询买家各种钱包明细 myPayWay_url = f"http://m.{surroundings}.hobay.com.cn/ribbon-api/userWallet/myPayWay" myPayWay_headers = {"login": ""} myPayWay_res = HttpRequest().http_request(myPayWay_url, "get", headers=myPayWay_headers, cookies=cookies) return myPayWay_res.json()
def test_login(self, case_info): with allure.step("对当前的case进行参数化替换"): # 对当前的case进行参数化替换 case_info = self.params_replace_current_case_info(case_info) with allure.step("发起请求"): res = HttpRequest().http_request(case_info) # 断言 with allure.step("响应结果断言"): self.assert_expected(case_info, res) member_id = jmespath.search("data.id", res.json()) if member_id != None: with allure.step("保存token到环境变量里"): token = jmespath.search("data.token_info.token", res.json()) if case_info["case_id"] == 1: # 2、保存到环境变量中 setattr(RelyData, "token1", token) elif case_info["case_id"] == 2: # 2、保存到环境变量中 setattr(RelyData, "token2", token) elif case_info["case_id"] == 3: # 2、保存到环境变量中 setattr(RelyData, "token3", token)
def test_api(self, item): my_logger.info('开始执行用例{0}:{1}'.format(item['case_id'], item['title'])) loan_member_id = getattr(GetData, 'loan_member_id') # 请求之前完成load_id的替换 if item['data'].find('${loan_id}') != -1: if getattr(GetData, 'loan_id') is None: query_sql = 'select max(id) from loan where member_id={0}'.format(loan_member_id) loan_id = DoMysql().do_mysql(query_sql)[0][0] item['data'] = item['data'].replace('${loan_id}', str(loan_id)) setattr(GetData, 'loan_id', loan_id) my_logger.info('loan_id为:{0}'.format(loan_id)) else: my_logger.info(getattr(GetData, 'loan_id')) item['data'] = item['data'].replace('${loan_id}', str(getattr(GetData, 'loan_id'))) my_logger.info('获取到的请求数据是{0}'.format(item['data'])) if item['check_sql'] != None: # 当你的check_sql的语句不为空时 就可以进行数据库校验 my_logger.info(item['check_sql']) my_logger.info('此条用例需要做数据库校验:{0}'.format(item['title'])) query_sql = eval(item['check_sql'])['sql'] # 拿到Excel中 字典里面的sql语句 Before_Amount = DoMysql.do_mysql(query_sql, 1)[0] my_logger.info('用例:{0}请求之前的余额是{1}'.format(item['title'], Before_Amount)) my_logger.info('---------------------开始http 接口请求---------------------') res = HttpRequest.http_request(item['url'], eval(item['data']), item['http_method'], getattr(GetData, 'Cookie')) my_logger.info('---------------------完成http 接口请求---------------------') After_Amount = DoMysql().do_mysql(query_sql, 1)[0] my_logger.info('用例:{0}请求之后的余额是{1}'.format(item['title'], After_Amount)) if float(abs(Before_Amount-After_Amount+1000)) == float(eval(item['data'])['amount']): my_logger.info('数据库余额校验通过') check_sql_result = '数据库检查通过' else: my_logger.info('数据库余额校验未通过') check_sql_result = '数据库检查未通过' # 写回结果 DoExcel.write_back(project_path.test_case_path, item['sheet_name'], item['case_id'] + 1, 10, check_sql_result) else: my_logger.info('此条用例不需要做数据库校验:{0}'.format(item['title'])) my_logger.info('---------------------开始http 接口请求---------------------') res = HttpRequest.http_request(item['url'], eval(item['data']), item['http_method'], getattr(GetData, 'Cookie')) my_logger.info('---------------------完成http 接口请求---------------------') if res.cookies: # 利用反射存储cookie值 setattr(GetData, 'Cookie', res.cookies) try: self.assertEqual(str(item['expected']), res.json()['code']) test_result = 'PASS' # 成功的 except AssertionError as e: test_result = 'Failed' # 失败的 my_logger.error("执行用例出错:{0}".format(e)) raise e finally: # 不管try是错还是对,finally里面的代码是一定会执行的 DoExcel.write_back(project_path.test_case_path, item['sheet_name'], item['case_id'] + 1, 8, str(res.json())) DoExcel.write_back(project_path.test_case_path, item['sheet_name'], item['case_id'] + 1, 9, test_result) my_logger.info("获取到的结果是:{0}".format(res.json())) my_logger.info('----------------------------------------------------------------------------------\n')
def test_api(self, item): # print("item is {}".format(item)) # print("url是:{0},data是:{1},header是:{2},http_method是:{3}".format(item['url'],eval(item['data']),item["header"],item["params"],item['http_method'])) # print("url value:{0}".format(type(item['url']))) # print("data value:{0}:".format(type(item['data']))) # print("header value:{0}:".format(type(eval(item['header'])))) # print("params is :{}".format(item['params'])) # print("params value:{0}:".format(type(eval(item['params'])))) # print("http_method value:{0}:".format(type(item['http_method']))) if item["model"] == "login_notice": global accessToken res_login = HttpRequest.http_request(item['url'], item['data'], eval(item["header"]), eval(item["params"]), item['http_method'], getattr(GetData, "Cookie")) accessToken = res_login.json()["accessToken"] if res_login.cookies: setattr(GetData, 'Cookie', res_login.cookies) try: self.assertEqual(item['excepted_code'], res_login.json()["code"]) TestResult = 'PASS' # 成功的 except AssertionError as e: TestResult = 'Failed' # 失败的 my_logger.info("执行用例出错:{}".format(e)) raise e finally: DoExcel.write_back(test_case_path, 'notice', item['case_id'] + 1, str(res_login.json()), TestResult) print('获取到的结果是:{}'.format(res_login.json())) elif item["model"] == "notice": sid = accessToken res_notice = HttpRequest.http_request( item['url'], item['data'], eval(item["header"].replace( "5EFCC60C2373B9C1FC526F64CAF24610EFA2BFC1C056AF9C92AFC48CE14EE8D8B13942D7F20742E379D7A6F89DB87D72", sid)), eval(item["params"]), item['http_method'], getattr(GetData, "Cookie")) if res_notice.cookies: setattr(GetData, 'Cookie', res_notice.cookies) try: self.assertEqual(item['excepted_code'], eval(res_notice.json()["retHead"])) TestResult = 'PASS' # 成功的 except AssertionError as e: TestResult = 'Failed' # 失败的 my_logger.info("执行用例出错:{}".format(e)) raise e finally: DoExcel.write_back(test_case_path, 'notice', item['case_id'] + 1, str(res_notice.json()), TestResult) print('获取到的结果是:{}'.format(res_notice.json()))
def get_qrCode(surroundings, orderId, cookies): # 获取买家订单序列号 OrderDetail_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/batchOrders/queryOrderDetail' OrderDetail_data = {"orderId": orderId, "buyOrSell": 1} OrderDetail_headers = {'login': ''} OrderDetail_res = HttpRequest().http_request(OrderDetail_url, 'post', data=OrderDetail_data, headers=OrderDetail_headers, cookies=cookies) qrCode = OrderDetail_res.json()['data']['qrCode'] return qrCode
def Pay(surroundings, orderNum, payPassword, payType, cookies): # 查询买家各种钱包明细 myPayWay_url = f"http://m.{surroundings}.hobay.com.cn/ribbon-api/userWallet/myPayWay" myPayWay_headers = {"login": ""} myPayWay_res = HttpRequest().http_request(myPayWay_url, "get", headers=myPayWay_headers, cookies=cookies) # 支付订单 pay_headers = {"login": "", "payPassword": payPassword} if payType in [3, 4]: pay_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/batchOrders/payAllCBP' pay_data = { "tradeNUm": orderNum, "payType": payType, "shareWalletUserId": "", "shareWalletId": "" } pay_res = HttpRequest().http_request(pay_url, "post", json=pay_data, cookies=cookies, headers=pay_headers) elif payType in [5, 6]: if payType == 5: shareWalletUserId = myPayWay_res.json( )['results']['myPayWay']['myKinship'][0]['shareWalletUserId'] shareWalletId = myPayWay_res.json( )['results']['myPayWay']['myKinship'][0]['shareWalletId'] elif payType == 6: shareWalletUserId = myPayWay_res.json( )['results']['myPayWay']['myWages']['shareWalletUserId'] shareWalletId = myPayWay_res.json( )['results']['myPayWay']['myWages']['shareWalletId'] pay_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/batchOrders/payAllCBP' pay_data = { "tradeNUm": orderNum, "payType": payType, "shareWalletUserId": shareWalletUserId, "shareWalletId": shareWalletId } pay_res = HttpRequest().http_request(pay_url, "post", json=pay_data, cookies=cookies, headers=pay_headers) elif payType == 7: pay_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/pay/payCash' pay_data = {"tradeNum": orderNum} pay_res = HttpRequest().http_request(pay_url, "post", data=pay_data, cookies=cookies, headers=pay_headers) return pay_res
def test_register(self, caseInfo): with allure.step("读数据库获取没有注册过的手机号码"): # 读数据库获取没有注册过的手机号码 if caseInfo["case_id"] == 1: mobile_phone = self.get_random_phone() setattr(RelyData, "mobile_phone1", mobile_phone) elif caseInfo["case_id"] == 2: mobile_phone = self.get_random_phone() setattr(RelyData, "mobile_phone2", mobile_phone) elif caseInfo["case_id"] == 3: mobile_phone = self.get_random_phone() setattr(RelyData, "mobile_phone3", mobile_phone) with allure.step("对当前的case进行参数化替换"): # 对当前的case进行参数化替换 case_info = self.params_replace_current_case_info(caseInfo) with allure.step("发起请求"): res=HttpRequest().http_request(case_info) with allure.step("响应结果断言"): # 1、响应结果断言 self.assert_expected(case_info, res) with allure.step("数据库断言"): # 2、数据库断言 self.assert_SQL(case_info) memberId = jmespath.search("data.id", res.json()) if memberId != None: with allure.step("保存手机号、用户id、密码到环境变量里"): mobile_phone = jmespath.search("data.mobile_phone", res.json()) # 3、注册成功的密码--从用例数据里面 pwd = case_info['input_params']['pwd'] if case_info["case_id"] == 1: setattr(RelyData, "mobile_phone1", mobile_phone) setattr(RelyData, "member_id1", memberId) setattr(RelyData, "pwd1", pwd) elif case_info["case_id"] == 2: # 2、保存到环境变量中 setattr(RelyData, "mobile_phone2", mobile_phone) setattr(RelyData, "member_id2", memberId) setattr(RelyData, "pwd2", pwd) elif case_info["case_id"] == 3: # 2、保存到环境变量中 setattr(RelyData, "mobile_phone3", mobile_phone) setattr(RelyData, "member_id3", memberId) setattr(RelyData, "pwd3", pwd)
def test_api(self, item): print(test_data) # print("url是:{0},data是:{1},header是:{2},http_method是:{3}".format(item['url'],eval(item['data']),item["header"],item['http_method'])) print("url value:{0}".format(type(item['url']))) print("data value:{0}:".format(type(item['data']))) print("header value:{0}:".format(type(eval(item['header'])))) # print("params value:{0}:".format(type(eval(item['params'])))) print("http_method value:{0}:".format(type(item['http_method']))) res = HttpRequest.http_request(item['url'], item['data'], eval(item["header"]), item['http_method'], getattr(GetData, "Cookie")) if res.cookies: setattr(GetData, 'Cookie', res.cookies) try: self.assertEqual(item['excepted_code'], res.json()["code"]) TestResult = 'PASS' #成功的 except AssertionError as e: TestResult = 'Failed' #失败的 my_logger.info("执行用例出错:{}".format(e)) raise e finally: DoExcel.write_back(test_case_path, 'login', item['case_id'] + 1, str(res.json()), TestResult) print('获取到的结果是:{}'.format(res.json()))
def test_api(self, item): #请求之前完成loan_id的替换 if item['data'].find('${loan_id}') != -1: if getattr(GetData, 'load_id') == None: query_sql = 'select Id from loan where Member ID={0}'.format( getattr(GetData, 'loan_member_id')) loan_id = DoMysql().do_mysql(query_sql)[0][0] item['data'] = item['data'].replace('${loan_id}', str(loan_id)) setattr(GetData, 'load_id', loan_id) #利用反射存储结果 else: item['data'] = item['data'].replace( '${loan_id}', str(getattr(GetData, 'loan_id'))) res = HttpRequest.http_request(item['url'], eval(item['data']), item['http_method'], getattr(GetData, 'Cookie')) if res.cookies: setattr(GetData, 'Cookie', res.cookies) try: self.assertEqual(str(item['expected']), res.json()['code']) TestResult = 'PASS' except AssertionError as e: TestResult = 'Failed' my_logger.info('执行用列出错:{0}'.format(e)) raise e finally: DoExcel.write_back(test_case_path, item['sheet_name'], item['case_id'] + 1, str(res.json()), TestResult) my_logger.error("获取到的结果是:{0}".format(res.json()))
def test_api(self, login_data): #登录 res = HttpRequest().http_request(login_data["url"], eval(login_data["data"]), login_data["method"], getattr(GetCookies, "COOKIES"), getattr(GetCookies, "headers")) my_logger.info("响应的html代码是:{}".format(res.text)) test_result = None if res.cookies: setattr(GetCookies, "COOKIES", res.cookies) print(getattr(GetCookies, "COOKIES")) try: assert 200 == res.status_code # assert login_data["expected"] == test_result = 'PASS' my_logger.info("执行用例通过") except AssertionError as e: test_result = "Failed" my_logger.error("执行用例出错:{0}".format(e)) raise e finally: ReadExel(login_path).write_data( int(login_data["case_id"]) + 1, login_data["sheet_name"], res.status_code, test_result) my_logger.info("获取到的结果是:{}".format(res.status_code))
def test_add_loan(self, case_info): with allure.step("对当前的case进行参数化替换"): # 对当前的case进行参数化替换 case_info = self.params_replace_current_case_info(case_info) with allure.step("发起请求"): res = HttpRequest().http_request(case_info) # 断言 with allure.step("响应结果断言"): self.assert_expected(case_info, res) memberId = jmespath.search("data.member_id", res.json()) if memberId != None: loan_id = jmespath.search("data.id", res.json()) # 2、保存到环境变量中 setattr(RelyData, "loan_id", loan_id)
def run(test_data): for item in test_data: print('正在测试的用例是{0}'.format(item['title'])) res = HttpRequest().http_request(item['url'],eval(item['data']),item['method'],cookie=getattr(GetCookie,'COOKIE')) if res.cookies: setattr(GetCookie,'COOKIE',res.cookies) print('请求的结果是{0}'.format(res.json())) try: assert str(item['expected']) == res.json()['code'] TestResult = 'pass' except Exception as e: TestResult = 'failed' print('接口返回的数据为{}'.format(e)) raise e finally: ReadExcel(data_file,'recharge').write_back_data(item['case']+1,TestResult,str(res.json()))
def suer(surroundings, orderId, payType, sellerUserId, payPassword, cookies): # 确认收货 suer_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/orders/recieve' suer_data = {'orderId': orderId, 'payType': payType, 'sellerUserId': sellerUserId} suer_headers = {'login': '', 'payPassword': payPassword} suer_res = HttpRequest().http_request(suer_url, 'post', data=suer_data, headers=suer_headers, cookies=cookies) return suer_res
def login(surroundings, phone): login_url = f'http://m.{surroundings}.hobay.com.cn/api/app/user/login' # 登录 login_data = { "loginValidateType": "CODE", "phone": phone, "validateValue": "666666" } login_res = HttpRequest().http_request(login_url, "post", json=login_data) return login_res
def SaveOrder(surroundings,productId, productStockId, cookies, addressId=""): SaveOrder_headers = {"login": ""} # 获取商品类型 type_url = 'http://m.test.hobay.com.cn/ribbon-api/batchCart/immediatelyBuySettlement' type_data = {"productStockIdAndNums": [{"num": 1, "productStockId": productStockId, "productId": productId}]} type_res = HttpRequest().http_request(type_url, "post", json=type_data, cookies=cookies, headers=SaveOrder_headers) goods_type = type_res.json()['data']['type'] # 提交订单 SaveOrder_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/batchOrders/immediatelySaveOrder' SaveOrder_data = {"message": "", "couponUserId": "", "addressId": addressId, "productStockIdAndNums": [{"num": 1, "productStockId": productStockId}], "type": goods_type} SaveOrder_res = HttpRequest().http_request(SaveOrder_url, "post", json=SaveOrder_data, cookies=cookies, headers=SaveOrder_headers) return SaveOrder_res
def get_productStockId(surroundings, product_name, cookies): # 卖家-商品管理 product_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/product/queryPageProductsByType?currentPage=1&type=2&pageSize=10' product_headers = {"login": ""} product_res = HttpRequest().http_request(product_url, "get", headers=product_headers, cookies=cookies) # print("商品管理出售中的商品是:", product_res.json()) # 获取商品规格id product_data = product_res.json()['data']['result'] for i in range(0, len(product_data)): if product_data[i]['title'] == product_name: productId = product_data[i]['id'] productStockId = product_data[i]['productStockWithStockImages'][0][ 'id'] return productId, productStockId
def test_api(self, item): print("测试开始:{0}".format(item['title'])) #测试标题 res = HttpRequest().http_request(item['url'], eval(item['data']), item['http_method'], getattr(GetData, 'Cookie')) #获取请求 if res.cookies: #利用反射获取cookies setattr(GetData, 'Cookie', res.cookies) try: #进行断言 self.assertEqual(str(item['expect']), res.json()['code']) TestResult = 'PASS' except Exception as e: TestResult = 'Failed' print("执行用例出错:{}".format(e)) raise e finally: #将测试结果返回文档中 DoExcel().write_back(case_path, item['sheet_name'], item['case_id'] + 1, str(res.json()), TestResult)
def boss_setting_requests(surroundings, phone, operational_setting): ''' Parameters ---------- surroundings:test/dev1/mtest phone:手机号 operational_setting:[{'个人焕商': 1000650}, {'省代理商': 1000646, '市代理商': 1000647, '区代理商': 1000648}] Returns:None ------- ''' if operational_setting == "未设置": salesRatio = "0" freeSalesRatio = "0" tcoRatio = "0" else: salesRatio = str(operational_setting['销售']) freeSalesRatio = str(operational_setting['业务焕商']) tcoRatio = str(operational_setting['TCO']) # 登录 login_url = f'http://boss.{surroundings}.hobay.com.cn/bosszuul/boss/user/login' # 登录 login_data = {"phone": phone, "password": "******"} login_res = HttpRequest().http_request(login_url, "post", data=login_data) # print("BOSS登录结果是:", login_res.json()) # 设置运营比例 agentId = login_res.json()['id'] secondPayagentRatio_url = f'http://boss.{surroundings}.hobay.com.cn/bosszuul/order/secondPayagentRatio/addOrUpdateSecondPayagentRatio' secondPayagentRatio_data = { "agentId": agentId, "freeSalesRatio": freeSalesRatio, "salesRatio": salesRatio, "tcoRatio": tcoRatio } secondPayagentRatio_res = HttpRequest().http_request( secondPayagentRatio_url, "post", data=secondPayagentRatio_data, cookies=login_res.cookies)
def delete_partner(surroundings, seller_phone, userId): # 卖家登录 login_url = f'http://m.{surroundings}.hobay.com.cn/api/app/user/login' # 登录 seller_login_data = { "loginValidateType": "CODE", "phone": seller_phone, "validateValue": "666666" } seller_login_res = HttpRequest().http_request(login_url, "post", json=seller_login_data) # print("登录结果是:", seller_login_res.json()) url = f'http://m.{surroundings}.hobay.com.cn/api/user/partnership/delPartnership?userId={userId}' headers = {"login": ""} res = HttpRequest.http_request(url, "get", headers=headers, cookies=seller_login_res.cookies)
def test_invest(self, case_info): with allure.step("对当前的case进行参数化替换"): case_info = self.params_replace_current_case_info(case_info) with allure.step("发起请求"): res = HttpRequest().http_request(case_info) # 断言 with allure.step("响应结果断言"): self.assert_expected(case_info, res)
def AcceptOrder(surroundings, orderId, cookies): order_data = {'orderStatus': 0, 'buyOrSell': 2, 'type': 0, 'currentPage': 1, 'pageSize': 10} AcceptOrder_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/orders/acceptOrder?orderId={orderId}' AcceptOrder_headers = {"login": ""} AcceptOrder_res = HttpRequest().http_request(AcceptOrder_url, "get", json=order_data, cookies=cookies, headers=AcceptOrder_headers) return AcceptOrder_res
def recharge(surroundings, payAmount, cookies): # 提交充值订单 recharge_url = f'http://m.{surroundings}.hobay.com.cn/ribbon-api/charge/saveServiceFeeOrders' recharge_data = {"payAmount": payAmount} recharge_headers = {"login": ""} recharge_res = HttpRequest.http_request(recharge_url, "post", data=recharge_data, headers=recharge_headers, cookies=cookies) return recharge_res
def test_api(self, item): global TestResult res = HttpRequest().http_request(item['url'], eval(item['data']), item['http_method'], getattr(GetData, "Cookie")) actual_code = res.json()['code'] # 实际结果 if res.cookies: # 如果有cookies,那就res.cookies赋值给Cookie属性 setattr(GetData, 'Cookie', res.cookies) # 反射 try: self.assertEqual(str(item['expected_code']), actual_code) print("用例{0}正确!".format(item['case_id']), item['title']) TestResult = 'PASS' except AssertionError as e: print("用例错误!错误原因是{0}:".format(e)) TestResult = 'Failed' raise e # 异常处理完后记得抛出 finally: # 不管怎样都得写入Excel DoExcel().write_back(test_case_path, item['sheet_name'], item['case_id'] + 1, str(res.json()), TestResult) print("响应体:", "\n", res.json())
def test_api(self,item): res=HttpRequest.http_request(item['method'],item['url'],eval(item['data']),getattr(GetCookie,'Cookie')) if res.cookies: #利用反射存储cookie值 setattr(GetCookie,'Cookie',res.cookies) try: self.assertEqual(str(item['expected']),res.json()['resultcode']) TestResult='PASS' except AssertionError as e: TestResult='Failed' MyLog.error("执行用例出错:{0}".format(e)) raise e finally: DoExcel.write_back(test_case_path,item['sheet_name'],item['case_id']+1,res.text,TestResult) MyLog.info("获取到的结果是:{0}".format(res.text))
def get_address_id(surroundings, cookies): address_url = f'http://m.{surroundings}.hobay.com.cn/api/user/graphql/flat' address_data = { "query": "query currentUser{\n currentUser{\n receiveAddress(page:1,pageSize:100){\n numPerPage\n pageNum\n totalCount\n totalPage\n recordList{\n id\n name\n provinceName\n cityName\n areaName\n detailAddress\n phone\n default\n }\n }\n }\n }" } address_headers = {"login": ""} address_res = HttpRequest().http_request(address_url, 'post', json=address_data, cookies=cookies, headers=address_headers) return address_res
def setUpClass(cls) -> None: """ 登录获取(后台)token :return: """ # 获取主机地址 HOST = ReadConfig.get_config(case_config_path, 'ADDRESS', 'host') url = f'{HOST}/api/auth/oauth/user/token' param = {"username": "******", "password": "******"} header = { "Content-Type": "application/json;charset=UTF-8", "Authorization": "Basic QmFzZVBsYXRmb3JtOjEyMzQ1Ng==" } res = HttpRequest().http_request(url, param, 'post', 'params', headers=header) setattr(GetToken, "Token", res.json()['value']) # 反射设置token值 get_header = { "Content-Type": "application/json;charset=UTF-8", "Authorization": "Bearer " + getattr(GetToken, "Token") } setattr(GetToken, "header", get_header) # 反射设置header值
def test_api(self, item): res = HttpRequest.http_request(item['url'], eval(item['data']), item['http_method'], getattr(GetCookie, "Cookie")) try: self.assertEqual(item['excepted'], res.json()["status"]) TestResult = 'PASS' #成功的 except AssertionError as e: TestResult = 'Failed' #失败的 print("执行用例出错:{}".format(e)) raise e finally: DoExcel.write_back(test_case_path, 'login', item['case_id'] + 1, str(res.json()), TestResult) print('获取到的结果是:{}'.format(res.json()))
def signed(surroundings, orderId, payType, sellerUserId, payPassword, cookies): # 签约 buyer_signed_url = f"http://m.{surroundings}.hobay.com.cn/ribbon-api/orders/signed" buyer_signed_data = { "orderId": orderId, "payType": payType, "sellerUserId": sellerUserId } buyer_signed_headers = {"login": "", "payPassword": payPassword} buyer_signed_res = HttpRequest().http_request(buyer_signed_url, "post", data=buyer_signed_data, cookies=cookies, headers=buyer_signed_headers) return buyer_signed_res
def test_api(self, case_data): res = HttpRequest.http_request(case_data['url'], eval(case_data['data']), case_data['method']) try: self.assertEqual(str(case_data['expected']), res.json()['code']) self.TestResult = 'PASS' except Exception as e: self.TestResult = 'Failed' print('执行用例出错:{0}'.format(e)) raise e finally: ReadExcel(data_file, 'login').write_back_data(case_data['case'] + 1, self.TestResult, str(res.json()))
def test_api(self, item): res = HttpRequest.http_request(item['url'], eval(item['data']), item['http_method'], getattr(GetCookie, 'Cookie')) try: self.assertEqual(item['expected'], res.json()['stat']) TestResult = 'PASS' except Exception as e: TestResult = 'Failed' print("执行用例出错:{0}".format(e)) raise e finally: DoExcel.write_back(test_case_path, 'login', item['case_id'] + 1, str(res.json()), TestResult) print("获取到结果是:{0}".format(res.json()))