예제 #1
0
    def test_api(self):

            res=HttpRequest().http_request(self.url,self.data,self.method)
            if res.cookies: #如果cookie有值,就更新cookie
                setattr(GetData,'Cookie',res.cookies)
            try:
                self.assertEqual(self.excepted,res.json()['code'])
            except AssertionError as e:
                print('测试出错了:'.format(e))
                raise e
            print(res.json())
예제 #2
0
    def test_api(self):  # 接口用例

        res = HttpRequest().http_request(self.url, self.data, self.method,
                                         getattr(GetData, 'Cookie'))
        if res.cookies:
            setattr(GetData, 'Cookie', res.cookies)

        try:
            self.assertEqual(self.expected, res.json()['msg'])
        except AssertionError as e:
            raise e
예제 #3
0
    def test_api(self, item):  # 接口用例

        res = HttpRequest().http_request(item['url'], eval(item['data']),
                                         item['method'],
                                         getattr(GetData, 'Cookie'))
        if res.cookies:
            setattr(GetData, 'Cookie', res.cookies)

        try:
            self.assertEqual(item['expected'], res.json()['msg'])
        except AssertionError as e:
            raise e
예제 #4
0
 def test_add_two_positive(self, item):
     global COOKIE
     data = {'mobile': 11111111, 'pwd': 123456}
     res = HttpRequest().http_request(self, eval(item['url']),
                                      eval(item['data']), eval(item['get']))
     if res.cookies:
         setattr(GetData, 'Cookie', res.cookies)
예제 #5
0
 def test_http(self, item):
     res = HttpRequest().http_request(item["url"], item["data.txt"],
                                      item["method"],
                                      getattr(GetData, "Cookie"))
     if res.cookies:
         setattr(GetData, "Cookie", res.cookies)
     try:  # 抓取错误  异常处理
         self.assertEquals(item["excepted"], res.json()["code"])  # 断言
         # self.assertIn("登陆成功", res.json()["msg"])
         TestResult = "PASS"
     except AssertionError as e:
         TestResult = "failed"
         print("test_api错误是{0}".format(e))
         raise e  # 异常处理之后需要抛出去
     finally:
         DoExcel.write_back(test_case_path, "login", item["case_id"] + 1,
                            str(res.json()), TestResult)
         print("获取到的结果是:".format(res.json()))
예제 #6
0
 def test_add_two_zero(self):
     data = {'mobile': 11111111, 'pwd': 123456}
     res = HttpRequest().http_request(self, login_url, data, 'post',
                                      getattr(GetData, 'Cookie'))
     try:
         self.assertEqual(1, res, '两个0相加出错了')
     except AssertionError as e:
         print("出错了,断言错误是:", e)
         raise e
예제 #7
0
 def test_add_two_zero(self, item):
     data = {'mobile': 11111111, 'pwd': 123456}
     res = HttpRequest().http_request(self, eval(item['url']),
                                      eval(item['data']), eval(item['get']),
                                      getattr(GetData, 'Cookie'))
     try:
         self.assertEqual(1, res, item['excepted'])
     except AssertionError as e:
         print("出错了,断言错误是:", e)
         raise e
    def test_api(self, item):

        if item['check_database'] != None:
            my_log.info(".....此条用例需要校验数据库.....")
            before_freeze_amount = DoMysql().do_mysql(
                item['check_database'])[0][5]
            my_log.info('执行用例{0}前DB冻结余额为{1},提现金额为{2}'.format(
                item['title'], before_freeze_amount,
                eval(item['data'])['amount']))
            my_log.info("开始调用接口")
            res = HttpRequest().http_test(item['url'], eval(item['data']),
                                          item['method'],
                                          getattr(GetData, "Cookie"))
            my_log.info('接口调用完成')
            my_log.info('执行用例{0}后查看数据库'.format(item['title']))
            after_freeze_amount = DoMysql().do_mysql(
                item['check_database'])[0][5]
            my_log.info('执行用例{0}后DB冻结余额为{1}'.format(item['title'],
                                                    after_freeze_amount))
            if after_freeze_amount == before_freeze_amount + eval(
                    item['data'])['amount']:
                check_result = '数据库校验通过'
                my_log.info(check_result)
            else:
                check_result = '数据库校验未通过'
                my_log.info(check_result)
        else:

            res = HttpRequest().http_test(item['url'], eval(item['data']),
                                          item['method'],
                                          getattr(GetData, "Cookie"))
            check_result = None

        if res.cookies:
            setattr(GetData, 'Cookie', res.cookies)
        try:
            self.assertEqual(item['expected'], res.json()['code1'])
            TestResult = 'PASS'
        except Exception as e:
            TestResult = 'Failed'
            print(Exception.with_traceback())
            # my_log.error("执行用例出错误了{}".format(e))
            # raise e
        finally:
            my_log.info("获取到的结果是:{}".format(res.json()))
            DoExcel().wirte_back(test_case_path,
                                 item['sheet_name'], item['code'] + 1,
                                 str(res.json()), TestResult, check_result)
예제 #9
0
    def test_http(self, item):
        my_logger.info("开始执行用例:{0}--{1}".format(item['case_id'],
                                                item['title']))
        if item['data.txt'].find('${loan_id}') != -1:  # 请求之前完成loan_id的替换
            if getattr(GetData, 'loan_id') == None:
                query_sql = 'select max(Id) from loan where MemberID={0}'.format(
                    getattr(GetData, 'loan_member_id'))
                loan_id = DoMysql().do_mysql(query_sql)[0][0]
                item['data.txt'] = item['data.txt'].replace(('${loan_id}'),
                                                            str(loan_id))
                setattr(GetData, 'loan_id', loan_id)
                my_logger.info(loan_id)
            else:
                my_logger.info(getattr(GetData, 'loan_id'))
                item['data.txt'] = item['data.txt'].replace(
                    ('${loan_id}'), str(getattr(GetData, 'loan_id')))
        my_logger.info("获取到的请求数据是:{0}".format(item['data.txt']))

        if item['check_sql'] != None:  #当文件中check_sql不为空的时候,需要进行数据库校验
            my_logger.info("此条数据需要做数据库校验:{0}".format(item["title"]))
            query_sql = eval(
                item['check_sql'])['sql']  #拿到了sql语句,注意是存在字典里面的(Excel)
            # print(query_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.txt"]),
                                             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))
            print(abs(After_Amount))
            # 检查结果
            if float(eval(item["data.txt"])['amount']) == float(
                    abs(Before_Amount - After_Amount)):  #abs绝对值
                my_logger.info('数据库余额校验通过')
                check_sql_result = '数据库检查通过'
            else:
                my_logger.info('数据库余额校验未通过')
                check_sql_result = '数据库检查未通过'
            # 写回结果
            DoExcel.write_back(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.txt"]),
                                             item["http_method"],
                                             getattr(GetData, "Cookie"))
            my_logger.info('----------完成http接口请求---------')
        if res.cookies:
            setattr(GetData, "Cookie", res.cookies)
        try:  # 抓取错误  异常处理
            self.assertEqual(str(item["expected"]), res.json()["code"])  # 断言
            # self.assertIn("登陆成功", res.json()["msg"])
            TestResult = "PASS"
        except AssertionError as e:
            TestResult = "failed"
            my_logger.info("test_api错误是{0}".format(e))
            raise e  # 异常处理之后需要抛出去
        finally:
            DoExcel.write_back(test_case_path, item["sheet_name"],
                               item["case_id"] + 1, 8, str(res.json()))
            DoExcel.write_back(test_case_path, item["sheet_name"],
                               item["case_id"] + 1, 9, TestResult)
            my_logger.info("获取到的结果是:{0}".format(res.json()))
예제 #10
0
 def test_add_two_positive(self):
     global COOKIE
     data = {'mobile': 11111111, 'pwd': 123456}
     res = HttpRequest().http_request(self, login_url, data, 'get')
     if res.cookies:
         setattr(GetData, 'Cookie', res.cookies)