From ddf66cf155af3805323ec55ae6814f2d23d40c07 Mon Sep 17 00:00:00 2001 From: 阳洁 <2077506045@qq.com> Date: 星期五, 28 七月 2023 18:42:30 +0800 Subject: [PATCH] 测评系统自动测试 --- testcase/test_maq.py | 112 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 76 insertions(+), 36 deletions(-) diff --git a/testcase/test_maq.py b/testcase/test_maq.py index e702e7a..c7123eb 100644 --- a/testcase/test_maq.py +++ b/testcase/test_maq.py @@ -1,6 +1,7 @@ from datetime import datetime import time from selenium.webdriver.common.by import By +from selenium.webdriver.common.keys import Keys import pytest from selenium import webdriver @@ -14,7 +15,7 @@ class TestMAQ: driver = None - test_package_name = None + test_package_name = "MAQ鑷姩娴嬭瘯鍖�-20230720170011" @pytest.mark.parametrize('data_read', ["login"], indirect=True) def test_login(self, data_read: dict): @@ -53,7 +54,14 @@ except: break - login_page.login(data_read["username"], data_read["password"], data_read["code"]) + # 杈撳叆鐢ㄦ埛鍚� + login_page.send_keys("username_ipt", data_read["username"]) + # 杈撳叆瀵嗙爜 + login_page.oper_elem("password_ipt", data_read["password"]) + # 杈撳叆楠岃瘉鐮� + login_page.oper_elem("code_ipt", data_read["code"]) + # 鐐瑰嚮鐧诲綍鎸夐挳 + login_page.oper_elem("login_btn") time.sleep(2) assert login_page.is_login_success() @@ -72,8 +80,13 @@ home_page.menu_select(data_read["menu"]) # 鍒涘缓娴嬭瘯鍖呭垪琛ㄩ〉闈㈢殑瀵硅薄 test_package_list = TestPackageListPage(driver) + # 鍒囨崲鍒版祴璇曞寘鍒楄〃椤甸潰iframe + test_package_list.oper_elem("this_iframe") + time.sleep(2) # 鐐瑰嚮鍒涘缓鎸夐挳 - test_package_list.create_btn() + test_package_list.oper_elem("create_btn") + # 鍒囨崲鍒版坊鍔犵獥鍙g殑iframe + test_package_list.oper_elem("add_iframe") # 鑾峰彇褰撳墠鏃堕棿 current_time = datetime.now() # 杞崲涓哄瓧绗︿覆 @@ -86,33 +99,43 @@ # 鑾峰彇鍒涘缓娴嬭瘯鍖呯殑鏁版嵁 create_data = data_read["add"] # 濉啓娴嬭瘯鍖呭悕绉� - test_package_list.testPackageName_input(test_package_name) + test_package_list.oper_elem("add_testPackageName_input", test_package_name) # 濉啓鎶ュ憡浼佷笟鍚嶇О - test_package_list.reportCompanyName_input(create_data["company"]) + test_package_list.oper_elem("add_reportCompanyName_input", create_data["company"]) # 閫夋嫨娴嬭瘯鍖呯被鍨� - test_package_list.testPackageType_select(create_data["type"]) + test_package_list.oper_elem("add_testPackageType_select", create_data["type"]) + # 鐐瑰嚮浜у搧鍖呮寜閽� + test_package_list.oper_elem("add_prodTree_btn") + # 鍒囨崲鍒皃rodTree鐨刬frame + test_package_list.oper_elem("prodTree_iframe") # 閫夋嫨浜у搧鍖� - test_package_list.prodTree_select(create_data["product"]) - # 杈撳叆hr閭 - test_package_list.hrReportEmail_input(create_data["hrEmail"]) - # 杈撳叆鏈夋晥鏈� - test_package_list.invalidTime_input(create_data["invalid"]) - # 閫夋嫨閭�璇烽偖浠惰瑷�绫诲瀷 - test_package_list.testTemplateLangType_select(create_data["memberLang"]) - # 閫夋嫨HR閭欢璇█绫诲瀷 - test_package_list.hrTemplateLangType_select(create_data["hrReportLang"]) - # 閫夋嫨鎶ュ憡妯℃澘 - test_package_list.reportTemplate_select(create_data["reportTemplate"]) - # 鐐瑰嚮娴嬭瘯鑰呮帴鏀舵姤鍛� - test_package_list.autoSendReport_checkbox() - # 閫夋嫨娴嬭瘯鑰呮姤鍛婇偖绠辫瑷�绫诲瀷 - test_package_list.memberReportLangType_select(create_data["memberReportLang"]) + test_package_list.oper_elem("prodTree_option", create_data["product"]) + # 鍥炲埌涓婁竴灞俰frame + test_package_list.switch_parent_iframe() # 鐐瑰嚮纭鎸夐挳 - test_package_list.add_confirm() - time.sleep(2) + test_package_list.oper_elem("prodTree_confirm_btn") + # 杈撳叆hr閭 + test_package_list.oper_elem("add_hrEmail_input", create_data["hrEmail"]) + # 杈撳叆鏈夋晥鏈熷苟鐐瑰嚮浠ュ彇娑堟棩鏈熼�夋嫨鍣ㄦ樉绀� + test_package_list.oper_elem("add_invalidTime_input", create_data["invalid"]) + test_package_list.oper_elem("add_invalidTime_btn") + # 閫夋嫨閭�璇烽偖浠惰瑷�绫诲瀷 + test_package_list.oper_elem("add_templateLangType_select", create_data["memberLang"]) + # 閫夋嫨HR閭欢璇█绫诲瀷 + test_package_list.oper_elem("add_hrTemplateLangType_select", create_data["hrReportLang"]) + # 閫夋嫨鎶ュ憡妯℃澘 + test_package_list.oper_elem("add_reportTemplateId_select", create_data["reportTemplate"]) + # 鐐瑰嚮娴嬭瘯鑰呮帴鏀舵姤鍛� + test_package_list.oper_elem("add_autoSendReport_checkbox") + # 閫夋嫨娴嬭瘯鑰呮姤鍛婇偖绠辫瑷�绫诲瀷 + test_package_list.oper_elem("add_memberTemplateLangType_select", create_data["memberReportLang"]) + # 鍒囨崲鍒颁笂涓�灞俰frame + test_package_list.switch_parent_iframe() + # 鐐瑰嚮纭鎸夐挳 + test_package_list.oper_elem("add_confirm_btn") + time.sleep(5) # 鍒ゆ柇鏄惁鎴愬姛鍒涘缓 assert test_package_list.is_create_success(test_package_name) - time.sleep(5) @pytest.mark.parametrize('data_read', ["MAQ"], indirect=True) def test_open_url(self, data_read: dict): @@ -127,9 +150,16 @@ # 鍕鹃�夋柊鍒涘缓鐨勬祴璇曞寘 test_package_list.click_package_checkbox(TestMAQ.test_package_name) # 鐐瑰嚮鐢熸垚鍒嗕韩閾炬帴鎸夐挳 - test_package_list.click_share_1_btn() + test_package_list.oper_elem("share_1_btn") + # 鍒囨崲鍒板垎浜獥鍙g殑iframe + test_package_list.oper_elem("share_iframe") # 鑾峰彇鍒皍rl - url = test_package_list.get_share_url() + url = test_package_list.oper_elem("share_url_text") + # 鍒囨崲鍒颁笂涓�灞俰frame + 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) # 鍒涘缓鍒嗕韩椤甸潰瀵硅薄 @@ -137,16 +167,24 @@ # 濉啓淇℃伅鎻愪氦骞惰幏鍙栨祴璇曢摼鎺� name = random_string(8) email = name + "@gmail.com" - test_url = share_add.page_default_operation(name, email) + # 濉啓閭鍜屽鍚嶅苟鎻愪氦 + share_add.oper_elem("name_input", name) + share_add.oper_elem("email_input", email) + share_add.oper_elem("submit_btn") + # 鑾峰彇鍒版祴璇曢摼鎺� + test_url = share_add.oper_elem("test_url_text") # 褰撳墠椤甸潰鎵撳紑閾炬帴 driver.get(test_url) # 鐐瑰嚮鎻愪氦鎸夐挳 - share_add.submit_btn() + share_add.oper_elem("submit_btn") # 鑾峰彇鏁版嵁 info = data_read["info"] # 濉啓鍩烘湰淇℃伅骞舵彁浜� - share_add.fill_info(email, info["position"], info["dept"]) - time.sleep(5) + 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(3) def test_answer(self): # 鑾峰彇driver @@ -154,13 +192,11 @@ # 鍒涘缓answer瀵硅薄 answer_page = MAQAnswerPage(driver) # 鐐瑰嚮寮�濮嬫祴璇� - answer_page.start_btn() + answer_page.oper_elem("start_btn") # 寮�濮嬬瓟棰� - flag = answer_page.answer_MAQ() + flag = answer_page.answer() # 绛斿畬棰樺叧闂綋鍓嶆爣绛鹃〉 driver.close() - # 鍒囨崲鍒扮涓�涓爣绛鹃〉 - answer_page.switch_window(0) if flag is not None or not flag: assert flag return @@ -170,9 +206,13 @@ driver = TestMAQ.driver # 鍒涘缓娴嬭瘯鍖呭垪琛ㄩ〉闈㈢殑瀵硅薄 test_package_list = TestPackageListPage(driver) + # 鍒囨崲鍒扮涓�涓爣绛鹃〉 + test_package_list.switch_window(0) + test_package_list.oper_elem("this_iframe") # 鍒犻櫎娴嬭瘯鍖� - test_package_list.delete_package() - time.sleep(5) + test_package_list.oper_elem("delete_btn") + test_package_list.oper_elem("delete_confirm_btn") + time.sleep(3) # 鍏抽棴 driver.quit() -- Gitblit v1.9.1