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

---
 po/home_page.py |   61 +++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 10 deletions(-)

diff --git a/po/home_page.py b/po/home_page.py
index 2802d29..74690e9 100644
--- a/po/home_page.py
+++ b/po/home_page.py
@@ -1,5 +1,6 @@
 from base.base_page import BasePage
 from selenium.webdriver.common.by import By
+from elements.home_elements import HomeElements
 import time
 
 
@@ -7,6 +8,20 @@
     """
     涓婚〉闈晶杈规爮鑿滃崟涓巘ab鏍忔搷浣滈〉闈�
     """
+
+    es = HomeElements
+
+    def __init__(self, driver):
+        super().__init__(driver)
+        self.driver = driver
+        # 鍒囨崲鍒版渶椤跺眰鐨勬枃妗�
+        driver.switch_to.default_content()
+
+    def logout(self):
+        # 鐐瑰嚮绗笁涓敤鎴疯彍鍗�
+        self.click(self.es.user_menu_3)
+        # 鐐瑰嚮鐧诲嚭
+        self.click(self.es.logout_btn)
 
     def menu_select(self, menu_text, is_first=True):
         """
@@ -29,19 +44,34 @@
         if is_first:
             # 鑿滃崟鍏冪礌瀹氫綅
             menu_loc = (By.XPATH, "//ul[@id='side-menu']//span[text()='" + menu + "']")
-            # 鑾峰彇鑿滃崟鍏冪礌
-            menu_element = self.get_element(menu_loc)
-            # 鐐瑰嚮鑿滃崟
-            menu_element.click()
-            time.sleep(1)
+            # 鑿滃崟涓媢l瀹氫綅
+            menu_ul_loc = (By.XPATH, "//ul[@id='side-menu']//span[text()='" + menu + "']/../../ul")
+            # 鑾峰彇鍒皍l鍏冪礌
+            ul = self.get_ele(menu_ul_loc)
+            # 鑾峰彇ul鐨刢lass灞炴��
+            ul_class = ul.get_attribute("class")
+            # 鍒ゆ柇class鏄惁鍖呭惈in瀛楃涓�
+            if "in" not in ul_class:
+                # 涓嶅寘鍚垯涓烘湭鎵撳紑鐘舵�侊紝鍙互鐐瑰嚮
+                self.click(menu_loc, timeout=10)
         else:
             # 鑿滃崟鍏冪礌瀹氫綅
             menu_loc = (By.XPATH, "//ul[@id='side-menu']//a[text()='" + menu + "']")
-            # 鑾峰彇鑿滃崟鍏冪礌
-            menu_element = self.get_element(menu_loc)
-            # 鐐瑰嚮鑿滃崟
-            menu_element.click()
-            time.sleep(1)
+            # 鍒ゆ柇menu_text鏄惁杩樺寘鍚�/
+            if "/" in menu_text:
+                # 鍖呭惈鍒欒〃绀鸿繕鏈変笅绾ц彍鍗曪紝鍒ゆ柇涓嬬骇鑿滃崟鏄惁涓哄睍寮�鐘舵��
+                # 鑿滃崟涓媢l瀹氫綅
+                menu_ul_loc = (By.XPATH, "//ul[@id='side-menu']//a[text()='" + menu + "']/../ul")
+                # 鑾峰彇鍒皍l鍏冪礌
+                ul = self.get_ele(menu_ul_loc)
+                # 鑾峰彇ul鐨刢lass灞炴��
+                ul_class = ul.get_attribute("class")
+                # 鍒ゆ柇class鏄惁鍖呭惈in瀛楃涓�
+                if "in" not in ul_class:
+                    # 涓嶅寘鍚垯涓烘湭鎵撳紑鐘舵�侊紝鍙互鐐瑰嚮
+                    self.click(menu_loc, timeout=10)
+            else:
+                self.click(menu_loc, timeout=10)
 
         if "/" in menu_text:
             # 鑾峰彇/绗竴娆″嚭鐜扮殑浣嶇疆
@@ -50,3 +80,14 @@
             menu_text = menu_text[index + 1: len(menu_text)]
             # 閫掑綊璋冪敤
             self.menu_select(menu_text, False)
+
+
+
+    def close_tab(self, tab_name):
+        """鍏抽棴椤甸潰tab"""
+        # 鑾峰彇鎵�鏈塼ab
+        tabs = self.get_eles(self.es.nav_tabs)
+        for tab in tabs:
+            if tab.text == tab_name:
+                # 鐐瑰嚮鍏抽棴鍥炬爣
+                tab.find_element(By.XPATH, "i").click()

--
Gitblit v1.9.1