예제 #1
0
	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
 def setUpClass(cls):
     # 必须使用@classmethod 装饰器,所有test运行前运行一次
     global operation, driver, read
     # 调用get_driver
     read = ReadIni(conftest.userinfo_dir)
     server = Server()
     server.main('android')
     base_driver = BaseDriver()
     driver = base_driver.android_driver()
     # 实例化Operation
     operation = Operation(driver)
예제 #3
0
파일: runner.py 프로젝트: 1067947122/Aetos
 def run(self):
     txt = WriteTxt()
     server = Server()
     server.main()
     test_dir = os.path.join(os.path.dirname(os.getcwd()), 'testcases')
     #构造suite容器
     suite = unittest.TestSuite()
     loader = unittest.TestLoader()
     suite.addTests(loader.loadTestsFromTestCase(LoginApp))
     with open(
             "../reports/test_reports_%s.html" %
             time.strftime("%Y-%m-%d %H-%M-%S"), "wb") as file:
         runner = HTMLTestRunner(stream=file,
                                 title=u"AetosTrade自动化测试报告",
                                 description=u"用例执行情况:")
         # discover = unittest.defaultTestLoader.discover(test_dir, pattern="test*.py")
         runner.run(suite)
     pass_list, fail_list, error_list = txt.list_result()
     print(pass_list, fail_list, error_list)
     send_mail = SendMail(pass_list, fail_list, error_list)
     send_mail.send_mail()
     txt.clear_data()
def appium_init():
    server = Server()
    server.main()
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))
예제 #6
0
def appium_init():
    # 初始化Appium服务
    server = Server()
    server.main()
예제 #7
0
        runner.run(suite)
    SendMail('*****@*****.**', '*****@*****.**', 'Nzd187',
             ['*****@*****.**', '*****@*****.**'],
             report_path).send()


def get_count():
    get_device = GetDevice()
    count = get_device.get_lines()
    print('count:', count)
    return count


if __name__ == '__main__':
    server = Server()
    server.main()
    time.sleep(5)

    processes = []
    for i in range(get_count()):
        print('i: ', i)
        driver = BaseDriver().android_driver(i)
        t = multiprocessing.Process(target=get_suite, args=(driver, ))
        processes.append(t)
    # 为了多个设备可以同时执行用例
    for j in processes:
        j.start()
        j.join()
        server.kill_server(processes.index(j))

    time.sleep(10)
예제 #8
0
def start_server(platform):
    server = Server()
    server.main(platform)