def test(self, items):
     case_id = items.case_id  # 获取case_id
     title = items.title  # 获取title
     method = items.method  # 获取请求方法
     url = ob.getstr('url', 'url') + items.url  # 获取url地址
     rp = Replace(section1='register', section2='login')  # 创建替换对象
     data = eval(rp.replace_data(items.data))  # 替换后的数据
     except_result = items.except_result  # 获取预期结果
     print('第{}条用例开始执行:{}'.format(case_id, title))
     self.mylog.info('第{}条用例开始执行:{}'.format(case_id, title))  # 打印日志
     res = HttpRequest(url=url,
                       data=data).httprequest(method=method).content.decode(
                           'utf8')  # 请求获取实际结果
     print('实际结果为{}'.format(except_result))
     print('预期结果为{}'.format(res))
     # 比对实际与预期结果
     try:
         self.assertEqual(res, except_result)
         if items.check_sql:  # 如果需要数据库校验
             sql = rp.replace_data(items.check_sql)
             sql_result = self.ms.find_result(sql)  # 数据库查询结果
             if sql_result == 1:  # 如果注册成功
                 ob.write('login', 'phone',
                          data['mobilephone'])  # 将手机号写进配置文件
                 ob.write('login', 'pwd', data['pwd'])  # 将密码写进配置文件
             self.assertEqual(1, sql_result)  # 比对查询结果
     except AssertionError as e:  # 若实际与预期不符
         print('测试未通过')
         self.excel.write(row=case_id + 1, column=9, value='未通过')  # 回写测试结果
         self.mylog.error('测试未通过,未通过信息为:{}'.format(e))
         raise e  # 抛出异常
     else:
         print('测试通过')
         self.excel.write(row=case_id + 1, column=9, value='通过')  # 回写测试结果
         self.mylog.info('测试通过')  # 打印日志
     finally:
         self.excel.write(row=case_id + 1, column=8, value=res)  # 回写实际结果
Esempio n. 2
0
 def test_cases(self,testdata):
     res=HttpRequest().request_start(ReadConf(SplitPsth().split_conf()).read_request_methoid(),eval(testdata["Params"]),testdata["url"])
     # print(res)
     b = res["code"]  # 得到code的值
     c = res["msg"]  # 得到msg的值
     # print(b)
     # print(c)
     ecpected = testdata["ExpectedResult"]  # 得到预期结果
     ecpect = eval(ecpected)  # 转成原类型(字典)
     b1 = ecpect["code"]  # 得到code的值
     c1 = ecpect["msg"]  # 得到msg的值
     try:
         r = self.assertEqual(b, b1)  # 比较code
         r = self.assertEqual(c, c1)  # 比较msg
         print("正在执行用例【{}】:".format(testdata["Title"]))
         print("用例通过,实际结果{}与预期结果{}一致".format(res, eval(testdata["ExpectedResult"])))
         self.case.write_excel(testdata["Case_id"] + 1, 9, "PASS")
     except AssertionError as e:
         print("用例不通过,实际结果{}与预期结果{}不一致".format(res,eval(testdata["ExpectedResult"])))
         self.case.write_excel(testdata["Case_id"] + 1, 9, "FAILED")
         Mylog().log_debug(e)
         raise e
     finally:
        self.case.write_excel(testdata["Case_id"]+1,8,str(res))