import time import pytest from po.share_add_page import ShareAddPage from po.maq_answer_page import MAQAnswerPage from comm.my_random import * class TestMAQ: driver = None test_package_name = "MAQ自动测试包-20230720170011" @pytest.mark.parametrize('data_read', ["MAQ"], indirect=True) def test_maq(self, data_read: dict, driver): """ 打开分享链接 :return: """ print(f"\n开始进行MAQ测试......") # 获取driver TestMAQ.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.se.start_btn, 10) # 跳过练习环节 answer_page.exercise_answer() print("\n开始答题") # 开始答题 answer_page.answer() # 最后检测关闭按钮是否存在 answer_page.get_ele(answer_page.se.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__])