From 204169e8cae389613ea35c4ec3a0c89998679e70 Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期四, 25 七月 2024 11:19: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