From 13af5663bd892c6f7a4e35b9761d12f135def81b Mon Sep 17 00:00:00 2001
From: yj <2077506045@qq.com>
Date: 星期三, 24 七月 2024 18:25:19 +0800
Subject: [PATCH] 测评系统自动测试

---
 testcase/test_maq.py |  110 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 75 insertions(+), 35 deletions(-)

diff --git a/testcase/test_maq.py b/testcase/test_maq.py
index 37f5a75..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()
         # 绛斿畬棰樺叧闂綋鍓嶆爣绛鹃〉
         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