From 8c9395d6a0e07ea64a7ed88a466c5befb83178e3 Mon Sep 17 00:00:00 2001
From: 阳洁 <2077506045@qq.com>
Date: 星期五, 28 七月 2023 18:42:59 +0800
Subject: [PATCH] 测评系统自动测试

---
 po/member_detail_page.py |  164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 164 insertions(+), 0 deletions(-)

diff --git a/po/member_detail_page.py b/po/member_detail_page.py
new file mode 100644
index 0000000..49a6dad
--- /dev/null
+++ b/po/member_detail_page.py
@@ -0,0 +1,164 @@
+from base.base_page import BasePage
+from selenium.webdriver.common.by import By
+from elements.member_detail_elements import MemberDetailElements
+from datetime import datetime
+import time
+
+
+class MemberDetailPage(BasePage):
+    """
+    娴嬭瘯鍖呭垪琛ㄩ〉闈�
+    """
+
+    es = MemberDetailElements
+
+    def __init__(self, driver):
+        """鍒濆鍖栨椂灏唅frame鍒囨崲鍒板綋鍓嶉〉闈�"""
+        super().__init__(driver)
+        try:
+            self.driver.switch_to.default_content()
+            self.switch_iframe(self.es.this_iframe)
+        except:
+            pass
+
+    def add_member(self, data: dict):
+        """
+        鏂板娴嬭瘎浜哄憳
+        :param data:
+        :return:
+        """
+        # 鐐瑰嚮鏂板鎸夐挳
+        self.click(self.es.create_btn)
+        # 鍒囨崲鍒癮dd鐨刬frame
+        self.switch_iframe(self.es.add_iframe)
+        # 濉啓淇℃伅
+        self.fill(self.es.add_member_name_input, data["name"])
+        self.fill(self.es.add_member_dept_input, data["dept"])
+        self.fill(self.es.add_member_email_input, data["email"])
+        self.fill(self.es.add_member_phone_input, data["phone"])
+        self.fill(self.es.add_remark_input, data["remark"])
+        # 鍥炲埌涓婁竴灞俰frame
+        self.switch_parent_iframe()
+        # 鐐瑰嚮纭畾鎸夐挳
+        self.click(self.es.add_confirm_btn)
+        return data["email"]
+
+    def edit_member(self, memberEmail, data: dict):
+        """
+        淇敼娴嬭瘎浜哄憳
+        :param memberEmail:
+        :param data:
+        :return:
+        """
+        # 鍕鹃�夋祴璇勪汉鍛�
+        self.select_email_checkbox(memberEmail)
+        # 鐐瑰嚮淇敼鎸夐挳
+        self.click(self.es.edit_btn)
+        # 鍒囨崲鍒癳dit鐨刬frame
+        self.switch_iframe(self.es.edit_iframe)
+        # 濉啓淇℃伅
+        self.fill(self.es.add_member_name_input, data["name"])
+        self.fill(self.es.add_member_dept_input, data["dept"])
+        self.fill(self.es.add_member_email_input, data["email"])
+        self.fill(self.es.add_member_phone_input, data["phone"])
+        self.fill(self.es.add_remark_input, data["remark"])
+        # 鍥炲埌涓婁竴灞俰frame
+        self.switch_parent_iframe()
+        # 鐐瑰嚮纭畾鎸夐挳
+        self.click(self.es.edit_confirm_btn)
+        return data["email"]
+
+    def is_edit_success(self, memberEmail, data: dict):
+        """鍒ゆ柇鏄惁淇敼鎴愬姛"""
+        # 鍕鹃�夋祴璇勪汉鍛�
+        self.select_email_checkbox(memberEmail)
+        # 鐐瑰嚮淇敼鎸夐挳
+        self.click(self.es.edit_btn)
+        # 鍒囨崲鍒癳dit鐨刬frame
+        self.switch_iframe(self.es.edit_iframe)
+        # 鍒ゆ柇淇℃伅
+        flag = self.equals(self.es.add_member_name_input, data["name"])
+        if not flag:
+            return flag
+        flag = self.equals(self.es.add_member_dept_input, data["dept"])
+        if not flag:
+            return flag
+        flag = self.equals(self.es.add_member_email_input, data["email"])
+        if not flag:
+            return flag
+        flag = self.equals(self.es.add_member_phone_input, data["phone"])
+        if not flag:
+            return flag
+        flag = self.equals(self.es.add_remark_input, data["remark"])
+        if not flag:
+            return flag
+        # 鍥炲埌涓婁竴灞俰frame
+        self.switch_parent_iframe()
+        # 鐐瑰嚮鍏抽棴鎸夐挳
+        self.click(self.es.edit_cancel_btn)
+        return True
+
+    def is_create_success(self, memberEmail):
+        """鍒ゆ柇鏄惁鍒涘缓鎴愬姛"""
+        emails = self.get_eles(self.es.table_email_td)
+        for email in emails:
+            if email.text == memberEmail:
+                return True
+        return False
+
+    def is_remote_success(self):
+        """鍒ゆ柇鏄惁鍒犻櫎鎴愬姛"""
+
+    def select_email_checkbox(self, memberEmail):
+        """
+        閫変腑璇勬祴浜哄憳
+        :param memberEmail:
+        :return:
+        """
+        # 鑾峰彇鍒皌able鐨勬墍鏈塼r
+        table_trs = self.get_eles(self.es.table_data_tr)
+        for tr in table_trs:
+            # 鍒ゆ柇澶嶉�夋鏄惁涓洪�変腑鐘舵��
+            tr_class = tr.get_attribute("class")
+            if tr_class == "selected":
+                # 宸茬偣鍑昏繘琛屼笅涓�娆″惊鐜�
+                continue
+            # 閭鍦╰r涓殑瀹氫綅
+            email_loc = (By.XPATH, "td[4]")
+            # 鑾峰彇tr涓殑娴嬭瘯鍖呭悕绉�
+            tr_email = tr.find_element(*email_loc).text
+            if tr_email == memberEmail:
+                # 澶嶉�夋鍦╰r涓殑瀹氫綅
+                package_checkbox_loc = (By.XPATH, "td[1]/input")
+                # 鑾峰彇澶嶉�夋鍏冪礌
+                tr_checkbox = tr.find_element(*package_checkbox_loc)
+                # 鐐瑰嚮澶嶉�夋
+                tr_checkbox.click()
+                break
+
+    def unselect_email_checkbox(self, memberEmail):
+        """
+        閫変腑璇勬祴浜哄憳
+        :param memberEmail:
+        :return:
+        """
+        # 鑾峰彇鍒皌able鐨勬墍鏈塼r
+        table_trs = self.get_eles(self.es.table_data_tr)
+        for tr in table_trs:
+            # 鍒ゆ柇澶嶉�夋鏄惁涓洪�変腑鐘舵��
+            tr_class = tr.get_attribute("class")
+            if tr_class != "selected":
+                # 宸茬偣鍑昏繘琛屼笅涓�娆″惊鐜�
+                continue
+            # 閭鍦╰r涓殑瀹氫綅
+            email_loc = (By.XPATH, "td[4]")
+            # 鑾峰彇tr涓殑娴嬭瘯鍖呭悕绉�
+            tr_email = tr.find_element(*email_loc).text
+            if tr_email == memberEmail:
+                # 澶嶉�夋鍦╰r涓殑瀹氫綅
+                package_checkbox_loc = (By.XPATH, "td[1]/input")
+                # 鑾峰彇澶嶉�夋鍏冪礌
+                tr_checkbox = tr.find_element(*package_checkbox_loc)
+                # 鐐瑰嚮澶嶉�夋
+                tr_checkbox.click()
+                break

--
Gitblit v1.9.1