import time import pytest from po.share_add_page import ShareAddPage from po.maq_answer_page import MAQAnswerPage from po.jaq_answer_page import JAQAnswerPage from po.caq_answer_page import CAQAnswerPage from po.ciaq_answer_page import CIAQAnswerPage from po.vaq_answer_page import VAQAnswerPage from comm.my_random import * class TestMain: driver = None test_package_name = "MAQ自动测试包-20230720170011" @pytest.mark.parametrize('data_read', ["MAQ"], indirect=True) def test_maq(self, data_read: dict, driver): """ 测试MAQ :return: """ print(f"\n开始进行MAQ测试......") # 获取driver self.driver = driver driver.get(data_read['share_url']) # # 创建测试包列表页面的对象 # test_package_list = TestPackageListPage(driver) # url = test_package_list.oper_elem("share_url_text") # # 切换到上一层iframe # test_package_list.switch_parent_iframe() # # 点击关闭按钮 # test_package_list.oper_elem("share_cancel_btn") # time.sleep(1) # # 打开新标签页加载url # test_package_list.open_new_table_to_url(url) # # 创建分享页面对象 share_add = ShareAddPage(driver) # 填写信息提交并获取测试链接 name = random_string(8) email = name + "@gmail.com" test_url = share_add.get_test_url(name, email) # 打开链接 driver.get(test_url) # 点击提交按钮 share_add.click(share_add.es.submit_btn, 10) # 获取数据 info = data_read["info"] # # 填写基本信息并提交 share_add.fill_info(email, info["position"], info["dept"]) # share_add.oper_elem("fill_email_input", email) # share_add.oper_elem("fill_position_input", info["position"]) # share_add.oper_elem("fill_dept_input", info["dept"]) # share_add.oper_elem("submit_btn") time.sleep(5) # 创建answer对象 answer_page = MAQAnswerPage(driver) # 点击开始测试 answer_page.click(answer_page.elements.start_btn, 10) # 跳过练习环节 answer_page.exercise_answer() print("\nMAQ开始答题") # 开始答题 answer_page.answer() time.sleep(3) # 最后检测关闭按钮是否存在 answer_page.get_ele(answer_page.elements.close_btn, 30) @pytest.mark.parametrize('data_read', ["JAQ"], indirect=True) def test_jaq(self, data_read: dict, driver): """ 测试JAQ :return: """ print(f"\n开始进行JAQ测试......") # 获取driver self.driver = driver driver.get(data_read['share_url']) # # 创建测试包列表页面的对象 # test_package_list = TestPackageListPage(driver) # url = test_package_list.oper_elem("share_url_text") # # 切换到上一层iframe # test_package_list.switch_parent_iframe() # # 点击关闭按钮 # test_package_list.oper_elem("share_cancel_btn") # time.sleep(1) # # 打开新标签页加载url # test_package_list.open_new_table_to_url(url) # # 创建分享页面对象 share_add = ShareAddPage(driver) # 填写信息提交并获取测试链接 name = random_string(8) email = name + "@gmail.com" test_url = share_add.get_test_url(name, email) # 打开链接 driver.get(test_url) # 点击提交按钮 share_add.click(share_add.es.submit_btn, 10) # 获取数据 info = data_read["info"] # # 填写基本信息并提交 share_add.fill_info(email, info["position"], info["dept"]) # share_add.oper_elem("fill_email_input", email) # share_add.oper_elem("fill_position_input", info["position"]) # share_add.oper_elem("fill_dept_input", info["dept"]) # share_add.oper_elem("submit_btn") time.sleep(5) # 创建answer对象 answer_page = JAQAnswerPage(driver) # 点击开始测试 answer_page.click(answer_page.elements.start_btn, 10) print("\nJAQ开始答题") # 开始答题 answer_page.answer() time.sleep(3) # 最后检测关闭按钮是否存在 answer_page.get_ele(answer_page.elements.close_btn, 30) @pytest.mark.parametrize('data_read', ["CAQ"], indirect=True) def test_caq(self, data_read: dict, driver): """ 测试CAQ :return: """ print(f"\n开始进行CAQ测试......") # 获取driver self.driver = driver driver.get(data_read['share_url']) # # 创建测试包列表页面的对象 # test_package_list = TestPackageListPage(driver) # url = test_package_list.oper_elem("share_url_text") # # 切换到上一层iframe # test_package_list.switch_parent_iframe() # # 点击关闭按钮 # test_package_list.oper_elem("share_cancel_btn") # time.sleep(1) # # 打开新标签页加载url # test_package_list.open_new_table_to_url(url) # # 创建分享页面对象 share_add = ShareAddPage(driver) # 填写信息提交并获取测试链接 name = random_string(8) email = name + "@gmail.com" test_url = share_add.get_test_url(name, email) # 打开链接 driver.get(test_url) # 点击提交按钮 share_add.click(share_add.es.submit_btn, 10) # 获取数据 info = data_read["info"] # # 填写基本信息并提交 share_add.fill_info(email, info["position"], info["dept"]) # share_add.oper_elem("fill_email_input", email) # share_add.oper_elem("fill_position_input", info["position"]) # share_add.oper_elem("fill_dept_input", info["dept"]) # share_add.oper_elem("submit_btn") time.sleep(5) # 创建answer对象 answer_page = CAQAnswerPage(driver) # 点击开始测试 answer_page.click(answer_page.elements.start_btn, 10) print("\nCAQ开始答题") # 开始答题 answer_page.answer() time.sleep(3) # 最后检测关闭按钮是否存在 answer_page.get_ele(answer_page.elements.close_btn, 30) @pytest.mark.parametrize('data_read', ["CIAQ"], indirect=True) def test_ciaq(self, data_read: dict, driver): """ 测试CIAQ :return: """ print(f"\n开始进行CIAQ测试......") # 获取driver self.driver = driver driver.get(data_read['share_url']) # # 创建测试包列表页面的对象 # test_package_list = TestPackageListPage(driver) # url = test_package_list.oper_elem("share_url_text") # # 切换到上一层iframe # test_package_list.switch_parent_iframe() # # 点击关闭按钮 # test_package_list.oper_elem("share_cancel_btn") # time.sleep(1) # # 打开新标签页加载url # test_package_list.open_new_table_to_url(url) # # 创建分享页面对象 share_add = ShareAddPage(driver) # 填写信息提交并获取测试链接 name = random_string(8) email = name + "@gmail.com" test_url = share_add.get_test_url(name, email) # 打开链接 driver.get(test_url) # 获取数据 info = data_read["info"] # # 填写基本信息并提交 share_add.fill_info(email, "", "") # share_add.oper_elem("fill_email_input", email) # share_add.oper_elem("fill_position_input", info["position"]) # share_add.oper_elem("fill_dept_input", info["dept"]) # share_add.oper_elem("submit_btn") time.sleep(5) # 创建answer对象 answer_page = CIAQAnswerPage(driver) # 点击开始测试 answer_page.click(answer_page.elements.start_btn, 10) print("\nCIAQ开始答题") # 开始答题 answer_page.answer() time.sleep(3) # 最后检测关闭按钮是否存在 answer_page.get_ele(answer_page.elements.close_btn, 30) @pytest.mark.parametrize('data_read', ["VAQ"], indirect=True) def test_vaq(self, data_read: dict, driver): """ 测试VAQ :return: """ print(f"\n开始进行VAQ测试......") # 获取driver self.driver = driver driver.get(data_read['share_url']) # 创建分享页面对象 share_add = ShareAddPage(driver) # 填写信息提交并获取测试链接 name = random_string(8) email = name + "@gmail.com" test_url = share_add.get_test_url(name, email) # 打开链接 driver.get(test_url) # 点击提交按钮 share_add.click(share_add.es.submit_btn, 10) # 获取数据 info = data_read["info"] # # 填写基本信息并提交 share_add.fill_info(email, "", "") time.sleep(5) # 创建answer对象 answer_page = VAQAnswerPage(driver) # 点击开始测试 answer_page.click(answer_page.elements.start_btn, 10) print("\nVAQ开始答题") # 开始答题 answer_page.answer() time.sleep(3) # 最后检测关闭按钮是否存在 answer_page.get_ele(answer_page.elements.close_btn, 30) # def test_answer(self): # # 获取driver # driver = TestMAQ.driver # # 创建answer对象 # answer_page = MAQAnswerPage(driver) # # 点击开始测试 # answer_page.oper_elem("start_btn") # # 开始答题 # flag = answer_page.answer() # # 答完题关闭当前标签页 # driver.close() # if flag is not None or not flag: # assert flag # return # # def test_delete_package(self): # # 获取driver # driver = TestMAQ.driver # # 创建测试包列表页面的对象 # test_package_list = TestPackageListPage(driver) # # 切换到第一个标签页 # test_package_list.switch_window(0) # test_package_list.oper_elem("this_iframe") # # 删除测试包 # test_package_list.oper_elem("delete_btn") # test_package_list.oper_elem("delete_confirm_btn") # time.sleep(3) # # 关闭 # driver.quit() if __name__ == '__main__': pytest.main(["-s", __file__])