def test_auth(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 获取订单号 num = Res.Result(self.driver).back_val("order_number") # 获取支付 ID pay_id = Res.Result(self.driver).back_val("payment_id") # 断言:交易状态 res_dict = test_data["PayResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_val(key_val), "交易状态错误") # 进入预授权 Home(self.driver).enter_postpage("预授权") auth.Action(self.driver).auth(test_data["Auth"], pay_id, num) # 断言:预授权成功 res_dict = test_data["AuthResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val), "预授权操作失败")
def test_counterfeit(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 断言: 判断三方支付成功 res_dict = test_data["PayResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_val(key_val)) # 获取支付 ID pay_id = Res.Result(self.driver).back_val("payment_id") # 登录管理后台 Ash(self.driver).login(self.as_name, self.as_pwd) # 新增伪冒 Rm.Action(self.driver).query_pay_id(pay_id) Rm.Action(self.driver).create(pay_id, "卡片不出现(账户卡号被冒用)") # 断言: 查询状态为伪冒状态 Rm.Action(self.driver).query_pay_id(pay_id) status = Rm.Action(self.driver).get_counterfeit("伪冒状态") self.assertEqual("是", status) # 登录账户后台 Nmh(self.driver).login(self.nm_account, self.nm_name, self.nm_pwd) # 断言: 状态为伪冒且标签颜色显示为绿色 Cou.Action(self.driver).query_pay_id(pay_id) status_color = Cou.Action(self.driver).get_status_color(pay_id, "伪冒") self.assertEqual("#03b64f", status_color)
def test_threequick(self, test_data): # 进入 quick 3方 Home(self.driver).enter_postpage("quick3方") # 创建订单 Tq.Action(self.driver).put_create(test_data["ThreeQuick"], test_data["PayDomain"], self.payval) # 获取 quickpay_id quick_id = Res.Result(self.driver).back_val("quickpay_id") # 进入 quick 3方 Home(self.driver).enter_postpage("quick3方") # 支付订单 Tq.Action(self.driver).put_pay(test_data["ThreeQuick"], quick_id) # 断言:quick 3方交易成功 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_check(key_val))
def test_check(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 获取订单号 num = Res.Result(self.driver).back_val("order_number") # 进入对账接口测试页面 Home(self.driver).enter_postpage("对账") # 对账操作 Che.Action(self.driver).put_check(test_data["AutoCheck"], num) # 断言:测试结果与预期结果对比 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val))
def test_two(self, test_data): # 进入 2方信用卡 Home(self.driver).enter_postpage("2方信用卡") # 提交 2方支付 Twp.Action(self.driver).put_two(test_data["TestData"]) # 断言:2方信用卡交易成功 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val))
def test_moto(self, test_data): # 进入 moto Home(self.driver).enter_postpage("MOTO") # moto 测试 Mo.Action(self.driver).moto(test_data["TestData"]) # 断言:MoTo 交易成功 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val))
def test_track(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 获取支付 ID pay_id = Res.Result(self.driver).back_val("payment_id") # 进入物流上传测试页面 Home(self.driver).enter_postpage("物流上传") # 物流上传操作 Che.Action(self.driver).put_track(test_data["Track"], pay_id) log.info("物流上传结果 signValue:{}".format( Res.Result(self.driver).back_tag_val("signValue"))) # 断言:测试结果与预期结果对比 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val))
def test_threepay(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 断言:3方信用卡交易成功 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_val(key_val))
def test_refund(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 获取金额 # amount = Res.Result(self.driver).back_val("order_amount") # 获取支付 ID pay_id = Res.Result(self.driver).back_val("payment_id") # 进入退款申请测试页面 Home(self.driver).enter_postpage("退款申请") # 申请退款操作 Che.Action(self.driver).apply_refund(test_data["ApplyRefund"], pay_id) # 获取退款ID refund_id = Res.Result(self.driver).back_tag_val("refund_id") log.info("退款ID:{}".format(refund_id)) # 断言:退款成功 res_dict = test_data["ApplyResult"] for key_val in res_dict: return_val = Res.Result(self.driver).back_tag_val(key_val) self.assertEqual(res_dict[key_val], return_val) if key_val == "refund_description": log.info("申请退款结果描述:{}".format(return_val)) # 进入退款查询测试页面 Home(self.driver).enter_postpage("退款查询") # 查询退款操作 try: Che.Action(self.driver).query_refund(test_data["QueryRefund"], refund_id) except TypeError: log.error("退款ID为空") log.info("查询退款结果描述:{}".format( Res.Result(self.driver).back_tag_val("refund_description"))) # 断言:测试结果与预期结果对比 res_dict = test_data["QueryResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val))
def test_freeze(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three( test_data["ThreePay"], test_data["PayDomain"], self.payval) # 断言: 判断三方支付成功 res_dict = test_data["PayResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_val(key_val)) # 获取支付 ID pay_id = Res.Result(self.driver).back_val("payment_id") # 登录管理后台 Ash(self.driver).login(self.as_name, self.as_pwd) # 申请调单 Aa.Action(self.driver).apply_freeze( pay_id, "系统后台操作人员", "调单", test_data["Freeze"]["amount"] ) # 审核 Aq.Action(self.driver).query_abn_type(pay_id, "调单") Aq.Action(self.driver).review() # 断言: 判断审核状态 Aq.Action(self.driver).query_abn_type(pay_id, "调单") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功未处理", abn_status) # 更换账号, 登录管理后台 Ash(self.driver).login(self.as_tname, self.as_tpwd) Ash(self.driver).abn_apply() # 复核 Aq.Action(self.driver).query_abn_type(pay_id, "调单") Aq.Action(self.driver).verify() # 断言: 判断复核状态 Aq.Action(self.driver).query_abn_type(pay_id, "调单") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功已处理", abn_status) # 登录账户后台 Nmh(self.driver).login(self.nm_account, self.nm_name, self.nm_pwd) # 接受退款 Fre.Action(self.driver).accept_refund(pay_id) # 登录管理后台 Ash(self.driver).login(self.as_name, self.as_pwd) # 断言: 判断调单成功 Aq.Action(self.driver).query_abn_type(pay_id, "退款") refund_reason = Aq.Action(self.driver).get_query_result("异常原因") self.assertEqual("调单变退款", refund_reason) Aq.Action(self.driver).query_abn_type(pay_id, "调单取消") cancel_reason = Aq.Action(self.driver).get_query_result("异常原因") self.assertEqual("调单变退款", cancel_reason)
def test_twoquick(self, test_data): # 进入 quick 2方 Home(self.driver).enter_postpage("quick2方") # 创建订单 Twq.Action(self.driver).put_create(test_data["TestData"]) # 获取 quickpay_id quick_id = Res.Result(self.driver).back_tag_val("quickpay_id") self.driver.back() # 支付订单 Twq.Action(self.driver).put_pay(test_data["TestData"], quick_id) # 断言:quick 2方交易成功 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val))
def test_send_trade(self, test_data): # 进入创建订单接口 Home(self.driver).enter_postpage("创建订单接口") # 创建订单 St.Action(self.driver).create_trade(test_data["ThreePay"]) # 断言:创建订单成功 res_dict = test_data["CreateResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_tag_val(key_val)) pay_url = Res.Result(self.driver).back_tag_val("pay_url") # 支付订单 St.Action(self.driver).pay_trade(test_data["PayDomain"], pay_url, self.payval) # 断言:创建订单支付成功 res_dict = test_data["TestResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_val(key_val))
def test_refund(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 断言: 判断三方支付成功 res_dict = test_data["PayResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_val(key_val)) pay_id = Res.Result(self.driver).back_val("payment_id") order_num = Res.Result(self.driver).back_val("order_number") # 登录账户后台 Nmh(self.driver).login(self.nm_account, self.nm_name, self.nm_pwd) # 申请退款 Ra.Action(self.driver).apply_refund(order_num, pay_id, test_data["ThreePay"]["交易金额"], test_data["Refund"]["amount"]) # 登录管理后台 Ash(self.driver).login(self.as_name, self.as_pwd) # 审核 Aq.Action(self.driver).query_abn_type(pay_id, "退款") Aq.Action(self.driver).review() # 断言: 判断审核状态 Aq.Action(self.driver).query_abn_type(pay_id, "退款") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功未处理", abn_status) # 更换账号, 登录管理后台 Ash(self.driver).login(self.as_tname, self.as_tpwd) Ash(self.driver).abn_apply() # 复核 Aq.Action(self.driver).query_abn_type(pay_id, "退款") Aq.Action(self.driver).verify() # 断言: 判断审核状态 Aq.Action(self.driver).query_abn_type(pay_id, "退款") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功已处理", abn_status) # 登录账户后台 Nmh(self.driver).login(self.nm_account, self.nm_name, self.nm_pwd) # 断言: 判断退款处理状态 handle_status = Rq.Action(self.driver).query_status(pay_id).strip() self.assertEqual("成功", handle_status)
def test_protest(self, test_data): # 进入 3方信用卡 Home(self.driver).enter_postpage("3方信用卡") # 提交 3方支付 Tp.Action(self.driver).put_three(test_data["ThreePay"], test_data["PayDomain"], self.payval) # 断言: 判断三方支付成功 res_dict = test_data["PayResult"] for key_val in res_dict: self.assertEqual(res_dict[key_val], Res.Result(self.driver).back_val(key_val)) pay_id = Res.Result(self.driver).back_val("payment_id") # 登录管理后台 Ash(self.driver).login(self.as_name, self.as_pwd) # 申请拒付 Aa.Action(self.driver).apply_protest(pay_id, "系统后台操作人员", "拒付", test_data["Protest"]["amount"], "重复处理") # 审核 Aq.Action(self.driver).query_abn_type(pay_id, "拒付") Aq.Action(self.driver).review() # 断言: 判断审核状态 Aq.Action(self.driver).query_abn_type(pay_id, "拒付") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功未处理", abn_status) # 更换账号, 登录管理后台 Ash(self.driver).login(self.as_tname, self.as_tpwd) Ash(self.driver).abn_apply() # 复核 Aq.Action(self.driver).query_abn_type(pay_id, "拒付") Aq.Action(self.driver).verify() # 断言: 判断复核状态 Aq.Action(self.driver).query_abn_type(pay_id, "拒付") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功已处理", abn_status) # 登录账户后台 Nmh(self.driver).login(self.nm_account, self.nm_name, self.nm_pwd) # 拒付申诉 Pt.Action(self.driver).appeal_protest(pay_id, "autotest", test_data["Protest"]["action"]) # 登录管理后台 Ash(self.driver).login(self.as_name, self.as_pwd) # 审核 Aq.Action(self.driver).query_abn_type(pay_id, "申诉中") Aq.Action(self.driver).review() # 断言: 判断审核状态 Aq.Action(self.driver).query_abn_type(pay_id, "申诉中") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功未处理", abn_status) # 更换账号, 登录管理后台 Ash(self.driver).login(self.as_tname, self.as_tpwd) Ash(self.driver).abn_apply() # 复核 Aq.Action(self.driver).query_abn_type(pay_id, "申诉中") Aq.Action(self.driver).verify() # 断言: 判断复核状态 Aq.Action(self.driver).query_abn_type(pay_id, "申诉中") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功已处理", abn_status) # 登录账户后台 Nmh(self.driver).login(self.nm_account, self.nm_name, self.nm_pwd) # 断言: 判断状态标签颜色显示为绿色 status_color = Pt.Action(self.driver).get_status_color(pay_id, "已申诉") self.assertEqual("#03b64f", status_color) # 登录管理后台 Ash(self.driver).login(self.as_name, self.as_pwd) # 申请申诉成功 Aa.Action(self.driver).apply_appeal_success(pay_id, "系统后台操作人员", "申诉成功") # 审核 Aq.Action(self.driver).query_abn_type(pay_id, "申诉成功") Aq.Action(self.driver).review() # 断言: 判断审核状态 Aq.Action(self.driver).query_abn_type(pay_id, "申诉成功") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功未处理", abn_status) # 更换账号, 登录管理后台 Ash(self.driver).login(self.as_tname, self.as_tpwd) Ash(self.driver).abn_apply() # 复核 Aq.Action(self.driver).query_abn_type(pay_id, "申诉成功") Aq.Action(self.driver).verify() # 断言: 判断审核状态 Aq.Action(self.driver).query_abn_type(pay_id, "申诉成功") abn_status = Aq.Action(self.driver).get_query_result("审核状态") self.assertEqual("审核成功已处理", abn_status) # 登录账户后台 Nmh(self.driver).login(self.nm_account, self.nm_name, self.nm_pwd) # 断言: 判断状态标签颜色改为绿色 status_color = Pt.Action(self.driver).get_status_color(pay_id, "申诉成功") self.assertEqual("#03b64f", status_color)