예제 #1
0
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))
예제 #2
0
 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)
예제 #3
0
    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)