def run_validata_test(testname, validatelist): ''' 测试用例的检查点执行 ''' if len(validatelist) != 0: for validatekey in validatelist: res = eval(validatekey) if res == True: Logger.info("测试用例[%s]检查点执行成功,检查点信息为 --> %s" % (testname, validatekey)) else: Logger.war("测试用例[%s]检查点执行失败,检查点信息为 --> %s" % (testname, validatekey))
def run_test(self): cassid = self.cassid testname = self.testname testtype = self.testtype request = eval(self.request) validates = eval(self.validates) extract = eval(self.extract) global extracts try: if testtype == "testsuite": execlist = get_global_values(request) if len(execlist) != 0: for execkey in execlist: # print("execkey:",execkey) exec(execkey) r = run_http_test(testname, request) execlist = extract_global_values(extract) if len(execlist) != 0: for execkey in execlist: # print("execkey:",execkey) exec(execkey) else: r = run_http_test(testname, request) runtime = r.elapsed.total_seconds() result = r.text print(result) validatelist = get_validata_test(validates) if len(validatelist) != 0: for validatekey in validatelist: res = eval(validatekey) if res == True: status = 0 Logger.info("测试用例[%s]检查点执行成功,检查点信息为 --> %s" % (testname, validatekey)) else: status = 1 Logger.war("测试用例[%s]检查点执行失败,检查点信息为 --> %s" % (testname, validatekey)) insert_test_result(cassid, status, runtime=runtime, result=result, validate=",".join(validatelist)) except Exception as e: status = 2 Logger.error("测试用例[%s]在执行过程中出现异常,错误信息为 --> %s" % (testname, e)) insert_test_result(cassid, status)
def run_test(self, version): # version是t_reports表中的version字段,表示当前测试用例的执行结果版本 # vesion越大,版本越靠前 cassid = self.cassid testname = self.testname testtype = self.testtype request = eval(self.request) validates = eval(self.validates) extract = eval(self.extract) global extracts try: if testtype == "testsuite": execlist = get_global_values(request) if len(execlist) != 0: for execkey in execlist: # print("execkey:",execkey) exec(execkey) r = run_http_test(testname, request) execlist = extract_global_values(extract) if len(execlist) != 0: for execkey in execlist: # print("execkey:",execkey) exec(execkey) else: r = run_http_test(testname, request) runtime = r.elapsed.total_seconds() result = r.text validatelist = get_validata_test(validates) # run_validata_test(testname, validatelist) if len(validatelist) != 0: for validatekey in validatelist: # assert eval(validatekey) ,"%s" % str(eval(validatekey)) # Logger.info("测试用例[%s]检查点执行成功,检查点信息为 --> %s" % (testname, validatekey)) res = eval(validatekey) if res == True: status = "成功" Logger.info("测试用例[%s]检查点执行成功,检查点信息为 --> %s" % (testname, validatekey)) else: status = "失败" Logger.war("测试用例[%s]检查点执行失败,检查点信息为 --> %s" % (testname, validatekey)) insert_test_result(cassid, status, runtime=runtime, result=result, validate=validatekey, version=version) except Exception as e: status = "报错" Logger.error("测试用例[%s]在执行过程中出现异常,错误信息为 --> %s" % (testname, e)) insert_test_result(cassid, status, version=version)