From c0dc1bc9676d0bc15355cfd16e9bb92a31518aa8 Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期四, 25 七月 2024 11:50:11 +0800 Subject: [PATCH] 测评系统自动测试 --- po/test_package_list_page.py | 520 ++++++++++++++++++++++++++++++++++----------------------- 1 files changed, 310 insertions(+), 210 deletions(-) diff --git a/po/test_package_list_page.py b/po/test_package_list_page.py index 35d1e8e..2b1bd57 100644 --- a/po/test_package_list_page.py +++ b/po/test_package_list_page.py @@ -1,6 +1,7 @@ from base.base_page import BasePage from selenium.webdriver.common.by import By -from elements.test_package_list_elements import TestPackageListElements as PackageList +from elements.test_package_list_elements import TestPackageListElements +from datetime import datetime import time @@ -9,66 +10,251 @@ 娴嬭瘯鍖呭垪琛ㄩ〉闈� """ + es = TestPackageListElements + def __init__(self, driver): """鍒濆鍖栨椂灏唅frame鍒囨崲鍒板綋鍓嶉〉闈�""" super().__init__(driver) try: self.driver.switch_to.default_content() - self.switch_iframe(PackageList.this_iframe) + self.switch_iframe(self.es.this_iframe) except: pass - def create_btn(self): + def create_package(self, data: dict): """ - 鐐瑰嚮鍒涘缓鎸夐挳 + 鍒涘缓娴嬭瘯鍖� + :param data: 娴嬭瘯鍖呭弬鏁� :return: """ - self.click(PackageList.create_btn) - # 鍒囨崲鍒癮dd绐楀彛鐨刬frame - self.switch_iframe(PackageList.add_iframe) + # 鐐瑰嚮鍒涘缓鎸夐挳 + self.click(self.es.create_btn) + # 鍒囨崲鍒癮dd鐨刬frame + self.switch_iframe(self.es.add_iframe) + # 鑾峰彇褰撳墠鏃堕棿 + current_time = datetime.now() + # 杞崲涓哄瓧绗︿覆 + time_str = current_time.strftime("%Y%m%d%H%M%S") + # 鍒涘缓娴嬭瘯鍖呭~鍐欑殑鍙傛暟 + # 娴嬭瘯鍖呭悕绉� + test_package_name = data["product"] + "鑷姩娴嬭瘯鍖�-" + time_str + # 濉啓娴嬭瘯鍖呭悕绉� + self.fill(self.es.add_testPackageName_input, test_package_name, timeout=10) + # 濉啓鎶ュ憡浼佷笟鍚嶇О + self.fill(self.es.add_reportCompanyName_input, data["company"], timeout=10) + # 閫夋嫨娴嬭瘯鍖呯被鍨� + self.select(self.es.add_testPackageType_select, self.es.add_testPackageType_option, data["type"]) + # 閫夋嫨鍖哄煙 + self.select(self.es.add_testPackageArea_select, self.es.add_testPackageArea_option, data["area"]) + # 閫夋嫨浜у搧鍖� + self.prodTree_select(data["product"]) + # 杈撳叆hr閭 + self.fill(self.es.add_hrEmail_input, data["hrEmail"]) + # 杈撳叆鏈夋晥鏈� + self.fill(self.es.add_invalidTime, data["invalid"]) + # 鐐瑰嚮鏈夋晥鏈熻緭鍏ユ鏉ラ殣钘忔棩鏈熼�夋嫨鍣� + self.click(self.es.add_invalidTime) + # 閫夋嫨閭�璇烽偖浠惰瑷�绫诲瀷 + self.select(self.es.add_templateLangType_select, self.es.add_templateLangType_option, data["memberLang"]) + # 閫夋嫨HR閭欢璇█绫诲瀷 + self.select(self.es.add_hrTemplateLangType_select, self.es.add_hrTemplateLangType_option, data["hrReportLang"]) + # 閫夋嫨鎶ュ憡妯℃澘 + self.select(self.es.add_reportTemplateId_select, self.es.add_reportTemplateId_option, data["reportTemplate"]) - def delete_package(self): + # 鍒ゆ柇鏄惁涓哄伐浣滃垎鏋愬寘 + if data["type"] == "宸ヤ綔鍒嗘瀽鍖�": + # 濡傛灉鏄垯濉啓 + # 杈撳叆瑕佽瘎浠风殑宀椾綅 + self.fill(self.es.add_position_input, data["position"]) + # 杈撳叆鑱屼笟澶х被 + self.fill(self.es.add_professionalCategory_input, data["professionalCategory"]) + # 杈撳叆涓婄骇宀椾綅 + self.fill(self.es.add_superiorPosition_input, data["superiorPosition"]) + + # 鐐瑰嚮娴嬭瘯鑰呮帴鏀舵姤鍛� + self.click(self.es.add_autoSendReport_checkbox) + # 閫夋嫨娴嬭瘯鑰呮姤鍛婇偖绠辫瑷�绫诲瀷 + self.select(self.es.add_memberReportLangType_select, self.es.add_memberReportLangType_option, + data["memberReportLang"]) + # 鍥炲埌涓婁竴灞俰frame + self.switch_parent_iframe() + # 鐐瑰嚮纭鎸夐挳 + self.click(self.es.add_confirm_btn) + return test_package_name + + def edit_package(self, data: dict): + """ + 淇敼娴嬭瘯鍖� + :param data: + :return: + """ + # 鍒囨崲鍒癳dit鐨刬frame + self.switch_iframe(self.es.edit_iframe) + # 鑾峰彇褰撳墠鏃堕棿 + current_time = datetime.now() + # 杞崲涓哄瓧绗︿覆 + time_str = current_time.strftime("%Y%m%d%H%M%S") + # 鍒涘缓娴嬭瘯鍖呭~鍐欑殑鍙傛暟 + # 娴嬭瘯鍖呭悕绉� + test_package_name = data["product"] + "鑷姩娴嬭瘯鍖�-" + time_str + # 濉啓娴嬭瘯鍖呭悕绉� + self.fill(self.es.add_testPackageName_input, test_package_name, timeout=10) + # 濉啓鎶ュ憡浼佷笟鍚嶇О + self.fill(self.es.add_reportCompanyName_input, data["company"], timeout=10) + # 閫夋嫨鍖哄煙 + self.select(self.es.add_testPackageArea_select, self.es.add_testPackageArea_option, data["area"]) + # 杈撳叆hr閭 + self.fill(self.es.add_hrEmail_input, data["hrEmail"]) + # 杈撳叆鏈夋晥鏈� + self.fill(self.es.add_invalidTime, data["invalid"]) + # 鐐瑰嚮鏈夋晥鏈熻緭鍏ユ鏉ラ殣钘忔棩鏈熼�夋嫨鍣� + self.click(self.es.add_invalidTime) + # 閫夋嫨閭�璇烽偖浠惰瑷�绫诲瀷 + self.select(self.es.add_templateLangType_select, self.es.add_templateLangType_option, data["memberLang"]) + # 閫夋嫨HR閭欢璇█绫诲瀷 + self.select(self.es.add_hrTemplateLangType_select, self.es.add_hrTemplateLangType_option, data["hrReportLang"]) + # 閫夋嫨鎶ュ憡妯℃澘 + self.select(self.es.add_reportTemplateId_select, self.es.add_reportTemplateId_option, data["reportTemplate"]) + + # 鍒ゆ柇鏄惁涓哄伐浣滃垎鏋愬寘 + if data["type"] == "宸ヤ綔鍒嗘瀽鍖�": + # 濡傛灉鏄垯濉啓 + # 杈撳叆瑕佽瘎浠风殑宀椾綅 + self.fill(self.es.add_position_input, data["position"]) + # 杈撳叆鑱屼笟澶х被 + self.fill(self.es.add_professionalCategory_input, data["professionalCategory"]) + # 杈撳叆涓婄骇宀椾綅 + self.fill(self.es.add_superiorPosition_input, data["superiorPosition"]) + # 閫夋嫨娴嬭瘯鑰呮姤鍛婇偖绠辫瑷�绫诲瀷 + self.select(self.es.add_memberReportLangType_select, self.es.add_memberReportLangType_option, + data["memberReportLang"]) + # 鍥炲埌涓婁竴灞俰frame + self.switch_parent_iframe() + # 鐐瑰嚮纭鎸夐挳 + self.click(self.es.edit_confirm_btn) + return test_package_name + + def verify_edit_success(self, package_name, data): + """ + 楠岃瘉淇敼鏄惁鎴愬姛 + :param package_name: 娴嬭瘯鍖呭悕绉� + :param data: + :return: + """ + # 鍕鹃�夊搴旀祴璇曞寘 + self.select_package_checkbox(package_name) + # 鐐瑰嚮淇敼鎸夐挳 + self.click(self.es.edit_btn) + time.sleep(2) + # 鍒囨崲鍒癳dit鐨刬frame + self.switch_iframe(self.es.edit_iframe) + # 鍒ゆ柇娴嬭瘯鍖呭悕绉� + flag = self.equals(self.es.add_testPackageName_input, package_name) + if not flag: + return flag + # 鍒ゆ柇鎶ュ憡浼佷笟鍚嶇О + flag = self.equals(self.es.add_reportCompanyName_input, data["company"]) + if not flag: + return flag + # 鍒ゆ柇绫诲瀷 + flag = self.equals(self.es.add_testPackageType_text, data["type"]) + if not flag: + return flag + # 鍒ゆ柇鍖哄煙 + flag = self.equals(self.es.add_testPackageArea_text, data["area"]) + if not flag: + return flag + # 鍒ゆ柇浜у搧鍖� + flag = self.equals(self.es.add_prodTree_input, data["product"]) + if not flag: + return flag + # 鍒ゆ柇HR鎺ユ敹鎶ュ憡閭 + flag = self.equals(self.es.add_hrEmail_input, data["hrEmail"]) + if not flag: + return flag + # 鍒ゆ柇鏈夋晥鏈� + flag = self.equals(self.es.add_invalidTime, data["invalid"]) + if not flag: + return flag + + # 鍒ゆ柇璇█绫诲瀷 + text = "浜茬埍鐨�" + if data["memberLang"] == "English": + text = "Dear" + elif data["memberLang"] == "喙勦笚喔�": + text = "喙�喔`傅喔⑧笝" + # 鍒ゆ柇娴嬭瘯鑰呴個璇峰唴瀹� + flag = self.contains(self.es.add_templateLangType_text, text) + if not flag: + return flag + + # 鍒ゆ柇璇█绫诲瀷 + text = "浜茬埍鐨�" + if data["hrReportLang"] == "English": + text = "Dear HR Staff at" + elif data["hrReportLang"] == "喙勦笚喔�": + text = "喙�喔`傅喔⑧笝喔澿箞喔侧涪喔氞父喔勦竸喔ム競喔竾" + # 鍒ゆ柇HR閭欢鍐呭 + flag = self.contains(self.es.add_hrTemplateLangType_text, text) + if not flag: + return flag + + # 鍒ゆ柇鎶ュ憡妯℃澘 + flag = self.contains(self.es.add_reportTemplateId_text, data["reportTemplate"]) + if not flag: + return flag + + # 鍒ゆ柇鏄惁涓哄伐浣滃垎鏋愬寘 + if data["type"] == "宸ヤ綔鍒嗘瀽鍖�": + # 鍒ゆ柇瑕佽瘎浠风殑宀椾綅 + flag = self.equals(self.es.add_position_input, data["position"]) + if not flag: + return flag + # 鍒ゆ柇鑱屼笟澶х被 + flag = self.equals(self.es.add_professionalCategory_input, data["professionalCategory"]) + if not flag: + return flag + # 鍒ゆ柇涓婄骇宀椾綅 + flag = self.equals(self.es.add_superiorPosition_input, data["superiorPosition"]) + if not flag: + return flag + + # 鍒ゆ柇璇█绫诲瀷 + text = "浜茬埍鐨�" + if data["memberReportLang"] == "English": + text = "Dear HR Staff at" + elif data["memberReportLang"] == "喙勦笚喔�": + text = "喙�喔`傅喔⑧笝" + # 鍒ゆ柇娴嬭瘯鑰� + flag = self.contains(self.es.add_memberReportLangType_text, text) + if not flag: + return flag + + # 鍒ゆ柇浜哄彛瀛︾紪鐮� + if "checkCode" in data: + # 鏍¢獙琚嬀閫夌殑浜哄彛閫夌紪鐮� + flag = self.verify_code_checked(data["checkCode"]) + if not flag: + return flag + if "uncheckCode" in data: + # 鏍¢獙琚彇娑堝嬀閫夌殑浜哄彛閫夌紪鐮� + flag = self.verify_code_unchecked(data["checkCode"]) + if not flag: + return flag + + return flag + + def delete_package(self, package_name): """ 鍒犻櫎娴嬭瘯鍖� :return: """ + # 鍕鹃�夊搴旀祴璇曞寘 + self.select_package_checkbox(package_name) # 鐐瑰嚮鍒犻櫎鎸夐挳 - self.click(PackageList.delete_btn) + self.click(self.es.delete_btn) # 鐐瑰嚮纭鎸夐挳 - self.click_wait(PackageList.delete_confirm_btn) - - def testPackageName_input(self, testPackageName): - """ - 杈撳叆娴嬭瘯鍖呭悕绉� - :param testPackageName: 娴嬭瘯鍖呭悕绉� - :return: - """ - self.send_text(testPackageName, PackageList.add_testPackageName_input) - - def reportCompanyName_input(self, reportCompanyName): - """ - 杈撳叆鎶ュ憡浼佷笟鍚嶇О - :param reportCompanyName: 鎶ュ憡浼佷笟鍚嶇О - :return: - """ - self.send_text(reportCompanyName, PackageList.add_reportCompanyName_input) - - def testPackageType_select(self, testPackageType): - """ - 閫夋嫨娴嬭瘯鍖呯被鍨� - :param testPackageType: - :return: - """ - # 鐐瑰嚮涓嬫媺妗� - self.click(PackageList.add_testPackageType_select) - # 鑾峰彇鎵�鏈夐�夐」 - options = self.get_elements(PackageList.add_testPackageType_option) - # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ョ殑閫夐」鐩哥瓑 - for opt in options: - if opt.text == testPackageType: - # 鐩哥瓑鍒欑偣鍑昏閫夐」 - opt.click() - break + self.click(self.es.delete_confirm_btn) def prodTree_select(self, prodName): """ @@ -77,12 +263,11 @@ :return: """ # 鐐瑰嚮鏌ヨ鎸夐挳 - self.click(PackageList.add_prodTree_btn) + self.click(self.es.add_prodTree_btn) # 鍒囨崲鍒皃rodTree鐨刬frame - self.switch_iframe_wait(PackageList.prodTree_iframe) - time.sleep(2) + self.switch_iframe_wait(self.es.prodTree_iframe) # 鑾峰彇鎵�鏈夐�夐」 - options = self.get_elements(PackageList.prodTree_option) + options = self.get_eles(self.es.prodTree_option, timeout=10) # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ラ�夐」鐩哥瓑 for opt in options: if opt.text == prodName: @@ -91,146 +276,33 @@ # 鍒囨崲鍒颁笂涓�灞傜殑iframe self.switch_parent_iframe() # 鐐瑰嚮纭鎸夐挳 - self.click(PackageList.prodTree_confirm_btn) + self.click(self.es.prodTree_confirm_btn) - def hrReportEmail_input(self, hr_email): + def select_code_checkbox(self, check_text, uncheck_text): """ - 杈撳叆HR鎺ユ敹鎶ュ憡閭 - :param hr_email: + 閫夋嫨浜哄彛瀛︾紪鐮� + :param uncheck_text: 鍙栨秷閫変腑鐨勯�夋鏂囨湰锛屼互 , 鍒嗗壊 + :param check_text: 閫夋嫨鐨勯�夋鏂囨湰锛屼互 , 鍒嗗壊 :return: """ - self.send_text(hr_email, PackageList.add_hrEmail_input) + # 鑾峰彇鎵�鏈変汉鍙i�夌紪鐮侀�夋鍏冪礌 + code_boxs = self.get_elements_wait(self.es.add_code_checkbox) - def invalidTime_input(self, invalid_time): - """ - 杈撳叆鏈夋晥鏈� - :param invalid_time: - :return: - """ - self.send_text(invalid_time, PackageList.add_invalidTime) - self.click(PackageList.add_invalidTime) + # 灏哻heck_text鍒嗗壊 + code_check_texts = check_text.split(',') + # 閫夋嫨浜哄彛瀛︾紪鐮� + for code_text in code_check_texts: + for code_box in code_boxs: + if code_text == code_box.text: + code_box.click() - def testTemplateLangType_select(self, text): - """ - 閫夋嫨娴嬭瘯鑰呴個璇烽偖浠跺唴瀹规ā鏉� - :param text: 璇█绫诲瀷锛屽彲浠ラ�夋嫨澶氫釜锛屼娇鐢� , 鍒嗛殧 - :return: - """ - # 鍒嗗壊text - lang_types = text.split(",") - # 鐐瑰嚮涓嬫媺妗� - self.click(PackageList.add_templateLangType_select) - # 鑾峰彇鎵�鏈夐�夐」 - options = self.get_elements(PackageList.add_templateLangType_option) - # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ョ殑閫夐」鐩哥瓑 - for opt in options: - for lang_type in lang_types: - if opt.text == lang_type: - # 鐩哥瓑鍒欑偣鍑昏閫夐」 - opt.click() - break - - def hrTemplateLangType_select(self, text): - """ - 閫夋嫨HR閭欢鍐呭妯℃澘 - :param text: 璇█绫诲瀷锛屽彲浠ラ�夋嫨澶氫釜锛屼娇鐢� , 鍒嗛殧 - :return: - """ - # 鍒嗗壊text - lang_types = text.split(",") - # 鐐瑰嚮涓嬫媺妗� - self.click(PackageList.add_hrTemplateLangType_select) - # 鑾峰彇鎵�鏈夐�夐」 - options = self.get_elements(PackageList.add_hrTemplateLangType_option) - # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ョ殑閫夐」鐩哥瓑 - for opt in options: - for lang_type in lang_types: - if opt.text == lang_type: - # 鐩哥瓑鍒欑偣鍑昏閫夐」 - opt.click() - break - - def reportTemplate_select(self, text): - """ - 鎶ュ憡妯℃澘閫夋嫨 - :param text: 妯℃澘锛屽彲浠ラ�夋嫨澶氫釜锛屼娇鐢� , 鍒嗛殧 - :return: - """ - # 鍒嗗壊text - templates = text.split(",") - # 鐐瑰嚮涓嬫媺妗� - self.click(PackageList.add_reportTemplateId_select) - # 鑾峰彇鎵�鏈夐�夐」 - options = self.get_elements(PackageList.add_reportTemplateId_option) - # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ョ殑閫夐」鐩哥瓑 - for opt in options: - for template in templates: - if opt.text == template: - # 鐩哥瓑鍒欑偣鍑昏閫夐」 - opt.click() - break - # 鍐嶆鐐瑰嚮涓嬫媺妗� - self.click(PackageList.add_reportTemplateId_select) - - def position_input(self, text): - """ - 杈撳叆瑕佽瘎浠风殑宀椾綅 - :param text: - :return: - """ - self.send_text(text, PackageList.add_position_input) - - def professionalCategory_input(self, text): - """ - 杈撳叆鑱屼笟澶х被 - :param text: - :return: - """ - self.send_text(text, PackageList.add_professionalCategory_input) - - def superiorPosition_input(self, text): - """ - 杈撳叆涓婄骇宀椾綅 - :param text: - :return: - """ - self.send_text(text, PackageList.add_superiorPosition_input) - - def autoSendReport_checkbox(self): - """ - 鐐瑰嚮娴嬭瘯鑰呮帴鏀舵姤鍛� - :return: - """ - self.click(PackageList.add_autoSendReport_checkbox) - - def memberReportLangType_select(self, text): - """ - 娴嬭瘯鑰呮姤鍛婇偖浠惰瑷�绫诲瀷 - :param text: 璇█绫诲瀷锛屽彲浠ラ�夋嫨澶氫釜锛屼娇鐢� , 鍒嗛殧 - :return: - """ - # 鍒嗗壊text - lang_types = text.split(",") - # 鐐瑰嚮涓嬫媺妗� - self.click(PackageList.add_memberTemplateLangType_select) - # 鑾峰彇鎵�鏈夐�夐」 - options = self.get_elements(PackageList.add_memberTemplateLangType_option) - # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ョ殑閫夐」鐩哥瓑 - for opt in options: - for lang_type in lang_types: - if opt.text == lang_type: - # 鐩哥瓑鍒欑偣鍑昏閫夐」 - opt.click() - break - - def add_confirm(self): - """ - 鐐瑰嚮纭鎸夐挳 - :return: - """ - # 鍥炲埌涓婁竴灞俰frame - self.switch_parent_iframe() - self.click(PackageList.add_confirm_btn) + # 灏唘ncheck_text鍒嗗壊 + code_uncheck_texts = uncheck_text.split(',') + # 鍙栨秷閫夋嫨浜哄彛瀛︾紪鐮� + for code_text in code_uncheck_texts: + for code_box in code_boxs: + if code_text == code_box.text: + code_box.click() def is_create_success(self, packageName): """ @@ -238,73 +310,101 @@ :param packageName: 娴嬭瘯鍖呭悕绉� :return: bool """ - names = self.get_elements(PackageList.table_packageName_a) + names = self.get_eles(self.es.table_packageName_a) for name in names: if name.text == packageName: return True return False - def click_package_checkbox(self, packageName): + def select_package_checkbox(self, packageName): """ 閫変腑娴嬭瘯鍖咃紝鍕鹃�夊搴旀祴璇曞寘鍒楄〃鐨勫閫夋 :param packageName: 娴嬭瘯鍖呭悕绉� :return: """ # 鑾峰彇鍒皌able鐨勬墍鏈塼r - table_trs = self.get_elements(PackageList.table_package_tr) + table_trs = self.get_eles(self.es.table_package_tr) for tr in table_trs: + # 鍒ゆ柇澶嶉�夋鏄惁涓洪�変腑鐘舵�� + tr_class = tr.get_attribute("class") + if tr_class == "selected": + # 宸茬偣鍑荤洿鎺ラ��鍑哄惊鐜� + continue # 娴嬭瘯鍖呭悕绉板湪tr涓殑瀹氫綅 package_name_loc = (By.XPATH, "td[2]/a") # 鑾峰彇tr涓殑娴嬭瘯鍖呭悕绉� - tr_package_name = self.get_element_in(tr, package_name_loc).text + tr_package_name = tr.find_element(*package_name_loc).text if tr_package_name == packageName: # 澶嶉�夋鍦╰r涓殑瀹氫綅 package_checkbox_loc = (By.XPATH, "td[1]/input") # 鑾峰彇澶嶉�夋鍏冪礌 - tr_checkbox = self.get_element_in(tr, package_checkbox_loc) + tr_checkbox = tr.find_element(*package_checkbox_loc) # 鐐瑰嚮澶嶉�夋 tr_checkbox.click() break - def click_share_1_btn(self): + def click_package_name(self, packageName): """ - 鐐瑰嚮鐢熸垚鍒嗕韩閾炬帴鎸夐挳 + 鐐瑰嚮鍖呭悕绉拌烦杞〉闈� + :param packageName: :return: """ - self.click(PackageList.share_1_btn) + # 鑾峰彇鍒版墍鏈夋祴璇曞寘鍚嶇Оa鏍囩 + package_names = self.get_eles(self.es.table_packageName_a) + for name in package_names: + if name.text == packageName: + name.click() - def get_share_url(self): + def get_share_url(self, package_name): """ 鑾峰彇鍒嗕韩閾炬帴 :return: url """ + # 鍕鹃�夋祴璇曞寘 + self.select_package_checkbox(package_name) + # 鐐瑰嚮鐢熸垚鍒嗕韩閾炬帴鎸夐挳 + self.click(self.es.share_1_btn) # 鍒囨崲鍒皊hare鐨刬frame涓� - self.switch_iframe(PackageList.share_iframe) + self.switch_iframe(self.es.share_iframe) # 鑾峰彇url - url = self.get_input_value_js(PackageList.share_url_input) + url = self.get_value_js(self.es.share_url_input) # 閫�鍥炰笂涓�灞俰frame self.switch_parent_iframe() - time.sleep(1) # 鐐瑰嚮鍏抽棴鎸夐挳 - self.click(PackageList.share_cancel_btn) + self.click(self.es.share_cancel_btn) + time.sleep(2) return url - - def selector(self, click_loc, options_loc, text): + def verify_code_checked(self, text: str): """ - 閫氱敤閫夋嫨鍣紝鐩存帴璋冪敤閫夋嫨涓嬫媺妗嗛�夐」 - :param click_loc: 鐐瑰嚮鍚庡嚭鐜颁笅鎷夐�夐」鐨勫厓绱犲畾浣� - :param options_loc: 閫夐」鐨勫厓绱犲畾浣� - :param text: 鍒ゆ柇鐐瑰嚮鐨勬枃鏈� + 鏍¢獙浜哄彛瀛︾紪鐮佹槸鍚﹀嬀閫� :return: """ - # 鐐瑰嚮涓嬫媺妗� - self.click(click_loc) - # 鑾峰彇鎵�鏈夐�夐」 - options = self.get_elements(options_loc) - # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ョ殑閫夐」鐩哥瓑 - for opt in options: - if opt.text == text: - # 鐩哥瓑鍒欑偣鍑昏閫夐」 - opt.click() - break + texts = text.split(",") + # 鑾峰彇鍒版墍鏈変汉鍙e缂栫爜鐨刲abel + eles = self.get_eles(self.es.add_code_checkbox) + for ele in eles: + for t in texts: + if t == ele.text: + ele_class = ele.find_element(By.XPATH, "div").get_attribute("class") + # 濡傛灉class涓嶅寘鍚玞hecked鍒欒繑鍥濬alse + if "checked" not in ele_class: + return False + + + def verify_code_unchecked(self, text: str): + """ + 鏍¢獙浜哄彛瀛︾紪鐮佹槸鍚︽病鏈夎鍕鹃�� + :return: + """ + texts = text.split(",") + # 鑾峰彇鍒版墍鏈変汉鍙e缂栫爜鐨刲abel + eles = self.get_eles(self.es.add_code_checkbox) + for ele in eles: + for t in texts: + if t== ele.text: + ele_class = ele.find_element(By.XPATH, "div").get_attribute("class") + # 濡傛灉class鍖呭惈checked鍒欒繑鍥濬alse + if "checked" in ele_class: + return False + -- Gitblit v1.9.1