From 023702f7d1d00015c1ba63c49e2161c58860efbc Mon Sep 17 00:00:00 2001 From: 阳洁 <2077506045@qq.com> Date: 星期三, 12 七月 2023 16:51:00 +0800 Subject: [PATCH] 测评系统自动测试 --- po/test_package_list_page.py | 285 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 285 insertions(+), 0 deletions(-) diff --git a/po/test_package_list_page.py b/po/test_package_list_page.py new file mode 100644 index 0000000..0ee54db --- /dev/null +++ b/po/test_package_list_page.py @@ -0,0 +1,285 @@ +from base.base_page import BasePage +from selenium.webdriver.common.by import By +from elements.test_package_list_elements import TestPackageListElements as PackageList +import time + + +class TestPackageListPage(BasePage): + """ + 娴嬭瘯鍖呭垪琛ㄩ〉闈� + """ + + def __init__(self, driver): + """鍒濆鍖栨椂灏唅frame鍒囨崲鍒板綋鍓嶉〉闈�""" + super().__init__(driver) + try: + self.driver.switch_to.default_content() + self.switch_iframe(PackageList.this_iframe) + except: + pass + + def create_btn(self): + """ + 鐐瑰嚮鍒涘缓鎸夐挳 + :return: + """ + self.click(PackageList.create_btn) + # 鍒囨崲鍒癮dd绐楀彛鐨刬frame + self.switch_iframe(PackageList.add_iframe) + + def delete_package(self): + """ + 鍒犻櫎娴嬭瘯鍖� + :return: + """ + # 鐐瑰嚮鍒犻櫎鎸夐挳 + self.click(PackageList.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 + + def prodTree_select(self, prodName): + """ + 閫夋嫨浜у搧鍖� + :param prodName: + :return: + """ + # 鐐瑰嚮鏌ヨ鎸夐挳 + self.click(PackageList.add_prodTree_btn) + # 鍒囨崲鍒皃rodTree鐨刬frame + self.switch_iframe_wait(PackageList.prodTree_iframe) + time.sleep(2) + # 鑾峰彇鎵�鏈夐�夐」 + options = self.get_elements(PackageList.prodTree_option) + # 鍒ゆ柇閫夐」鏄惁涓庝紶鍏ラ�夐」鐩哥瓑 + for opt in options: + if opt.text == prodName: + opt.click() + break + # 鍒囨崲鍒颁笂涓�灞傜殑iframe + self.switch_parent_iframe() + # 鐐瑰嚮纭鎸夐挳 + self.click(PackageList.prodTree_confirm_btn) + + def hrReportEmail_input(self, hr_email): + """ + 杈撳叆HR鎺ユ敹鎶ュ憡閭 + :param hr_email: + :return: + """ + self.send_text(hr_email, PackageList.add_hrEmail_input) + + def invalidTime_input(self, invalid_time): + """ + 杈撳叆鏈夋晥鏈� + :param invalid_time: + :return: + """ + self.send_text(invalid_time, PackageList.add_invalidTime) + self.click(PackageList.add_invalidTime) + + 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 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) + + def is_create_success(self, packageName): + """ + 鍒ゆ柇杩欎釜娴嬭瘯鍖呮槸鍚﹀垱寤烘垚鍔� + :param packageName: 娴嬭瘯鍖呭悕绉� + :return: bool + """ + names = self.get_elements(PackageList.table_packageName_a) + for name in names: + if name.text == packageName: + return True + return False + + def click_package_checkbox(self, packageName): + """ + 閫変腑娴嬭瘯鍖咃紝鍕鹃�夊搴旀祴璇曞寘鍒楄〃鐨勫閫夋 + :param packageName: 娴嬭瘯鍖呭悕绉� + :return: + """ + # 鑾峰彇鍒皌able鐨勬墍鏈塼r + table_trs = self.get_elements(PackageList.table_package_tr) + for tr in table_trs: + # 娴嬭瘯鍖呭悕绉板湪tr涓殑瀹氫綅 + package_name_loc = (By.XPATH, "td[2]/a") + # 鑾峰彇tr涓殑娴嬭瘯鍖呭悕绉� + tr_package_name = self.get_element_in(tr, 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.click() + break + + def click_share_1_btn(self): + """ + 鐐瑰嚮鐢熸垚鍒嗕韩閾炬帴鎸夐挳 + :return: + """ + self.click(PackageList.share_1_btn) + + def get_share_url(self): + """ + 鑾峰彇鍒嗕韩閾炬帴 + :return: url + """ + # 鍒囨崲鍒皊hare鐨刬frame涓� + self.switch_iframe(PackageList.share_iframe) + # 鑾峰彇url + url = self.get_input_value_js(PackageList.share_url_input) + # 閫�鍥炰笂涓�灞俰frame + self.switch_parent_iframe() + # 鐐瑰嚮鍏抽棴鎸夐挳 + self.click(PackageList.share_cancel_btn) + return url + + + def selector(self, click_loc, options_loc, text): + """ + 閫氱敤閫夋嫨鍣紝鐩存帴璋冪敤閫夋嫨涓嬫媺妗嗛�夐」 + :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 -- Gitblit v1.9.1