def test_add_bid(self,case):
     logger.info("执行用例开始:{}".format(case.title))
     case.data = getdata(case.data)
     logger.debug("请求的数据是:{}".format(case.data))
     if case.sql:
         case.sql = getdata(case.sql)
         before_data = self.mysql.fecth_one(case.sql)["id"]
         logger.info("添加项目前查询到的id:{}".format(before_data))
 def test_recharge(self, case):
     logger.info("执行用例开始:{}".format(case.title))
     case.data = getdata(case.data)
     logger.debug("请求的数据是:{}".format(case.data))
     if case.sql:
         case.sql = getdata(case.sql)
         before_data = self.mysql.fecth_one(eval(
             case.sql)["sql1"])["leaveamount"]
         logger.info("用户充值之前的余额是:{}".format(before_data))
示例#3
0
 def http_res(self,method,url,data=None,json = None):
     url = Config().getvalue("url","pre_url")+url
     logger.info("请求的URL:{}".format(url))
     if type(data) == str:
         data = eval(data)
     if method.lower() == "get":
         resp = self.session.request(method,url,params=data)
     elif method.lower() == "post":
         if json:
             resp = self.session.request(method, url, json = json)
         else:
             resp = self.session.request(method,url,data = data)
     else:
         resp = None
         logger.info("输入的请求方式不对")
     return resp
class Recharge(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.session = HttpRquests()
        logger.info("执行用例前的前置工作")

    def setUp(self):
        self.mysql = DoMysql()

    @data(*ExcelTest(cantins.data_path, "recharge").read_excel())
    def test_recharge(self, case):
        logger.info("执行用例开始:{}".format(case.title))
        case.data = getdata(case.data)
        logger.debug("请求的数据是:{}".format(case.data))
        if case.sql:
            case.sql = getdata(case.sql)
            before_data = self.mysql.fecth_one(eval(
                case.sql)["sql1"])["leaveamount"]
            logger.info("用户充值之前的余额是:{}".format(before_data))
        res = self.session.http_res(case.method, case.url, case.data).json()
        try:
            self.assertEqual(str(case.exp), res["code"])
            ExcelTest(cantins.data_path,
                      "recharge").write_excel(case.case_id + 1, res["code"],
                                              "PASS")
            if res["msg"] == "充值成功":
                after_data = self.mysql.fecth_one(eval(
                    case.sql)["sql1"])["leaveamount"]
                logger.info("充值之后用户的余额是:".format(after_data))
                self.assertEqual(before_data + eval(case.data)["amount"],
                                 after_data)
                financelog_data = self.mysql.fecth_one(eval(case.sql)["sql2"])
                logger.info(financelog_data["incomemembermoney"])
                self.assertEqual(after_data,
                                 financelog_data["incomemembermoney"])
        except AssertionError as e:
            ExcelTest(cantins.data_path,
                      "recharge").write_excel(case.case_id + 1, res["code"],
                                              "FILE")
            logger.error("测试报错了:{}".format(e))
            raise e
        logger.info("测试结束:{}".format(case.title))
class BidLoanCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls):
        cls.http_request = HttpRquests()
        logger.info("执行用例前的前置工作")

    def setUp(self):
        self.mysql = DoMysql()

    @data(*(ExcelTest(cantins.data_path, "bidLoan").read_excel()))
    def test_bidloan(self, case):
        logger.info("执行用例开始:{}".format(case.title))
        case.data = getdata(case.data)
        case.data = getdata(case.data)
        logger.debug("请求的数据是:{}".format(case.data))
        if case.title == "正常添加项目":
            case.sql = getdata(case.sql)
        if case.title == "正常投标":
            case.sql = getdata(case.sql)
            before_data_1 = self.mysql.fecth_one(eval(
                case.sql)["sql2"])["leaveamount"]
            logger.info("投标之前的用户余额是:{}".format(before_data_1))
 def tearDownClass(cls):
     cls.http_request.session_close()
     logger.info("用例执行结束后的后置工作")
 def setUpClass(cls):
     cls.http_request = HttpRquests()
     logger.info("执行用例前的前置工作")
 def tearDownClass(cls):
     cls.session.session_close()
     logger.info("用例执行结束后的后置工作")
 def setUpClass(cls):
     cls.session = HttpRquests()
     logger.info("执行用例前的前置工作")
                      "bidLoan").write_excel(case.case_id + 1, res["code"],
                                             "FAILD")
            logger.error("测试报错了:{}".format(e))
            raise e
        else:
            ExcelTest(cantins.data_path,
                      "bidLoan").write_excel(case.case_id + 1, res["code"],
                                             "PASS")
            if res["msg"] == "加标成功":
                data_new = self.mysql.fecth_one(case.sql)["id"]
                setattr(Loan, "loan_id", data_new)
            if res["msg"] == "竞标成功":
                #投资成功后,校验数据库的数据信息
                after_data_1 = self.mysql.fecth_one(eval(
                    case.sql)["sql1"])["amount"]
                logger.info("用户投资的金额是:{}".format(after_data_1))
                after_data_2 = self.mysql.fecth_one(eval(
                    case.sql)["sql2"])["leaveamount"]
                logger.info("用户投标成功后的余额:{}".format(after_data_2))
                after_data_3 = self.mysql.fecth_one(eval(
                    case.sql)["sql3"])["amount"]
                self.assertEqual(before_data_1 - after_data_2, after_data_1)
                self.assertEqual(before_data_1 - after_data_2, after_data_3)
        logger.info("测试结束:{}".format(case.title))

    def tearDown(self):
        self.mysql.close_mysql()

    @classmethod
    def tearDownClass(cls):
        cls.session.session_close()