コード例 #1
0
ファイル: run_main.py プロジェクト: 1067947122/Aetos
	def run_method(self):
		server = Server()
		server.main()
		data = GetData()
		action_method = ActionMethod()
		lines = data.get_case_lines()
		for i in range(1,lines):
			handle_step = data.get_handle_step(i)
			element_key = data.get_element_key(i)
			handle_value = data.get_handle_value(i)
			expect_key = data.get_expect_element(i)
			expect_step = data.get_expect_handle(i)
			#input()  login_button
			#input  str
			#None
			excute_method = getattr(action_method,handle_step)
			if element_key != None:
				excute_method(element_key,handle_value)
			else:
				excute_method(handle_value)
			if expect_step != None:
				expect_result = getattr(action_method,expect_step)
				result = expect_result(expect_key)
				if result:
					data.write_value(i,"pass")
				else:
					data.write_value(i,"fail")
コード例 #2
0
class RunTest:
    def __init__(self):
        self.run_method = RunMethod()
        self.data = GetData()
        self.com = CommonUtil()

    #程序执行的入口
    def go_on_run(self):
        res = None
        rows_count = int(self.data.get_case_lines())
        for i in range(1, rows_count):
            is_run = self.data.get_is_run(i)
            if is_run:
                url = self.data.get_request_url(i)
                method = self.data.get_request_way(i)
                request_data = self.data.get_data_for_json(i)
                expect = self.data.get_expect_data(i)
                header = self.data.is_header(i)
                depend_case = self.data.is_depend(i)
                if depend_case != None:
                    self.depend_data = DependdentData(depend_case)
                    #响应数据
                    depend_response_data = self.depend_data.get_data_for_key(i)
                    #获取依赖的key
                    depend_key = self.data.get_depend_field(i)
                    request_data[depend_key] = depend_response_data
                res = self.run_method.run_main(method, url, request_data,
                                               header)
                #print res
                if self.com.is_contain(expect, res):
                    # self.data.write_result(i,'pass')
                    print 'pass'
                else:
                    # self.data.write_result(i, 'fail')
                    print 'fail'
コード例 #3
0
ファイル: run_main.py プロジェクト: liangxiaopeng9354/mycode
    def run_method(self):
        server = Server()
        server.main_server()
        data = GetData()
        action_method = ActionMethod()
        lines = data.get_case_lines()
        for i in range(1, lines):
            #步骤
            handle_step = data.get_handle_step(i)
            #元素
            element_key = data.get_element_key(i)
            #操作值
            handle_value = data.get_handle_value(i)
            print('this is handle_value -------', handle_value)
            #预期元素
            expect_key = data.get_expect_element(i)
            #预期步骤
            expect_step = data.get_expect_handle(i)
            #input() login_button
            #input str

            excute_method = getattr(action_method, handle_step)
            if element_key != None:
                excute_method(element_key, handle_value)
            else:
                excute_method(handle_value)

            if expect_step != None:
                expect_result = getattr(action_method, expect_step)
                expect_result(expect_key)
コード例 #4
0
class RunTest:
    def __init__(self):
        self.run_method = RunMethod()
        self.data = GetData()
        self.com_util = CommonUtil()

    def go_on_run(self):
        pass_count = []
        fail_count = []
        rows_count = self.data.get_case_lines()
        for i in range(1, rows_count):
            is_run = self.data.get_is_run(i)
            if is_run:
                url = self.data.get_request_url(i)
                method = self.data.get_request_method(i)
                request_data1 = self.data.get_data_for_json(i)
                request_data = json.dumps(request_data1)
                expect = self.data.get_expect_data(i)
                header1 = self.data.is_header(i)
                header = eval(header1)
                token = self.data.get_token(i)
                depend_case = self.data.is_depend(i)
                if depend_case != None:
                    self.depend_data = DependentData(depend_case)
                    # 响应数据
                    depend_response_data = self.depend_data.get_data_for_key(i)
                    # 获取依赖的key
                    depend_key = self.data.get_depend_field(i)
                    # 数据更新
                    request_data1[depend_key] = depend_response_data
                    request_data = json.dumps(request_data1)
                if token == 'write':
                    res = self.run_method.run_main(method, url, request_data,
                                                   header)
                    res = json.loads(res)
                    op_header = OperationHeader()
                    op_header.write_token(res["data"])
                    res = json.dumps(res)
                elif token == 'yes':
                    # 获取当前文件路径
                    current_path = os.path.abspath(__file__)
                    # 获取当前文件的父目录
                    father_path = os.path.dirname(current_path)
                    path = os.path.join(father_path, "wenjian", "cookie.json")
                    op_json = OperationJson(path)
                    token = op_json.get_data("access_token")
                    tokens = {'Authorization': "Bearer " + token}
                    # 将header与token合并
                    header = dict(header, **tokens)
                res = self.run_method.run_main(method, url, request_data,
                                               header)
                if self.com_util.is_contain(expect, res):
                    self.data.write_result(i, "pass")
                    pass_count.append(i)
                else:
                    self.data.write_result(i, res)
                    fail_count.append(i)
        send_main(pass_count, fail_count)
コード例 #5
0
ファイル: main.py プロジェクト: xushuhui/api-test
class main():
    def __init__(self):
        self.run_method = RunMethod()
        self.data = GetData()
        self.json = UseJson()

    def run(self):
        res = header = method = None
        pass_count = []
        fail_count = []
        rows_count = self.data.get_case_lines()

        for i in range(1, rows_count):
            is_run = self.data.get_is_run(i)
            if is_run:
                url = self.data.get_request_url(i)
                method = self.data.get_request_method(i)
                request_data = self.data.get_data_for_json(i)

                # expect = self.data.get_expcet_data_for_mysql(i)
                header = self.data.is_header(i)
                request_name = self.data.get_request_name(i)

                # depend_case = self.data.is_depend(i)
                # if depend_case != None:
                #     self.depend_data = DependdentData(depend_case)
                #     #获取的依赖响应数据
                #     depend_response_data = self.depend_data.get_data_for_key(i)
                #     #获取依赖的key
                #     depend_key = self.data.get_depend_field(i)
                #request_data[depend_key] = depend_response_data
                if header == 'yes':
                    token = self.json.get_data("token")
                    head = {"token": token}
                    res = self.run_method.main(method)(url, request_data, head)

                else:
                    res = self.run_method.main(method)(url, request_data)

                if res['error_code'] & res['error_code'] == 0:
                    print("测试:" + request_name + ",", "结果:success")
                    #存token到文件
                    if 'token' in res['data']:
                        self.json.write_data("token", res['data']['token'])
                elif res['error_code'] & res['error_code'] != 0:
                    print("测试:" + request_name + ",", "结果:fail" + ",",
                          "原因:" + res["msg"])
                else:
                    print("测试:" + request_name + ",", "结果:fail" + ",",
                          "原因:" + res)
コード例 #6
0
class RunTest:
    def __init__(self):
        self.run_method = RunMethod()
        self.data = GetData()

    def go_on_run(self):
        rows_count = self.data.get_case_lines()

        for i in range(1, rows_count):
            url = self.data.get_request_url(i)
            method = self.data.get_request_method(i)
            is_run = self.data.get_is_run(i)
            data = self.data.get_data_for_json(i)
            header = self.data.is_header(i)

            if is_run:
                res = self.run_method.run_main(method, url, data, header)
                return res
コード例 #7
0
class RunMain:
    def __init__(self):
        self.server = Server()
        self.data = GetData()

    def run_method(self):
        self.server.main()
        action_method = ActionMethod()
        # print('20秒后开始执行用例')
        # action_method.time_sleep(20)
        print('开始执行用例')
        lines = self.data.get_case_lines()
        # print(lines)
        for i in range(1, lines):
            # 操作步骤
            handle_step = self.data.get_method_name(i)
            # 操作界面
            handle_page = self.data.get_handle_page(i)
            # 操作元素
            handle_element = self.data.get_handle_element(i)
            # 操作值
            handle_value = self.data.get_handle_value(i)
            # 预期步骤
            expect_handle = self.data.get_expect_handle(i)
            # 预期元素的界面
            expect_page = self.data.get_expect_page(i)
            # 预期元素
            expect_element = self.data.get_expect_element(i)
            # 运行开关
            switch_value = self.data.get_is_run(i)
            # 备注信息
            # tips = self.data.get_tips(i)

            # if handle_step == 'input':
            # 	# 输入
            # 	if handle_element == None:
            # 		print('操作元素为空。使用‘input’方法时,必须输入操作元素')
            # 		return None
            # 	elif handle_value == None:
            # 		print('操作值为空。使用‘input’方法时,必须输入操作值')
            # 		return None
            # 	action_method.input(handle_element, handle_value)
            # elif handle_step == 'click_on':
            # 	# 点击
            # 	if handle_element == None:
            # 		print('操作元素为空。使用‘click_on’方法时,必须输入操作元素')
            # 		return None
            # 	action_method.click_on(handle_element)
            # elif handle_step == 'time_sleep':
            # 	# 延时等待
            # 	if handle_value == None:
            # 		print('操作值为空。使用‘time_sleep’方法时,必须输入操作值')
            # 		return None
            # 	action_method.time_sleep(handle_value)
            # elif handle_step == 'swipe_left':
            # 	# 左滑
            # 	action_method.swipe_left()
            # elif handle_step == 'swipe_right':
            # 	# 右滑
            # 	action_method.swipe_right()
            # elif handle_step == 'swipe_up':
            # 	# 上滑
            # 	action_method.swipe_up()
            # elif handle_step == 'swipe_down':
            # 	# 下滑
            # 	action_method.swipe_down()
            # else:
            # 	print('你输入的操作方法有误,请按规范输入相应操作方法')
            # 	return None
            if switch_value == True:
                if handle_step != None:
                    excute_method = getattr(action_method, handle_step)
                    if handle_value != None:
                        if handle_element != None:
                            print(handle_element, handle_page, handle_value)
                            excute_method(handle_element, handle_page,
                                          handle_value)
                            print('完成case', i)
                        else:
                            excute_method(handle_value)
                            print('完成case', i)
                    elif handle_element != None:
                        excute_method(handle_element, handle_page)
                        print('完成case', i)
                    else:
                        excute_method()
                        print('完成case', i)

                    if expect_handle != None:
                        result_method = getattr(action_method, expect_handle)
                        # if expect_page != None:
                        result = result_method(expect_element, expect_page)
                        # print(result)
                        # else:
                        # 	result = result_method(expect_element)
                        if result == None:
                            print('case{}验证通过'.format(i))
                            self.data.write_file(i, 'Pass')
                        else:
                            print('case{}验证未通过'.format(i))
                            self.data.write_file(i, 'Fail')
                else:
                    print('未找到cese{}的操作方法,因此跳过该条case'.format(i))
コード例 #8
0
ファイル: run_test.py プロジェクト: alphaJk/HttpInterface
class RunTest:
    """docstring for RunTest"""
    def __init__(self):
        # 实例化http请求方法对象
        self.run_method = RunMain()
        # 实例化获取excel内容方法的对象
        self.data = GetData()
        self.com_util = CommonUtil()

    # 执行程序,遍历case(除了表头)
    def start_mycase(self):
        pass_count = []
        fail_count = []
        rows_count = self.data.get_case_lines()
        for i in range(2, rows_count + 1):
            # 拿到是否执行的boolean
            is_run = self.data.get_is_run(i)
            if is_run:
                # 拿到url
                url = self.data.get_request_url(i)
                # 拿到请求类型
                request_method = self.data.get_request_method(i)
                # 拿到请求需要的json参数
                request_json = self.data.get_data_json(i)
                # 是否需要填写header
                is_header = self.data.get_is_header(i)
                # 拿到预期结果
                expected_data = self.data.get_expected_results(i)
                # 判断用例是否需要依赖别的用例
                depend_case = self.data.is_denpend(i)
                if depend_case != None:
                    print(depend_case)
                    print(type(depend_case))
                    self.depend_data = DependData(depend_case)
                    #获取依赖的响应数据
                    # print(i)
                    depend_response_data = self.depend_data.get_data_key(i)
                    # 获取依赖的key
                    depend_key = self.data.get_depend_file(i)
                    # 更新依赖key的数据
                    # request_json[self.depend_data] = depend_response_data
                # print("请求需要的参数:",request_json)
                # print("header:",is_header)
                res = self.run_method.run_main(url, request_method,
                                               request_json, is_header)
                # print(res)
                # if int(res_status) == 200 :
                # 	self.data.write_result(i,'pass')
                # 	pass_count.append(i)
                # 	# print('成功执行')
                # else:
                # 	self.data.write_result(i,'fail')
                # 	fail_count.append(i)
                # print('成功执行')
                print(type(expected_data))
                print(type(res))
                if self.com_util.is_contain(expected_data, res):
                    self.data.write_result(i, 'pass')
                    pass_count.append(i)
                else:
                    self.data.write_result(i, res)
                    fail_count.append(i)

        print('成功的个数:', len(pass_count))
        print('失败的个数:', len(fail_count))