def __init__(self, driver): self.driver = driver self.getElem = getElement(driver) self.frameElem = frameElement(driver) self.cnEn = cnEncode() self.dptment = Department(driver) self.regroup = Regroup(driver)
def __init__(self, driver): self.driver = driver self.dataFile = dataFileName() self.cmf = commonFun(self.driver) self.initDriver = initDriver() self.loginElem = loginPage(self.driver) self.roleElem = Role(self.driver) self.userElem = UserPage(self.driver) self.frameElem = frameElement(self.driver) self.authElem = AuthMethodPage(self.driver) self.dptment = Department(self.driver) self.resource = Resource(self.driver) self.account = Accountmgr(self.driver) self.windowsElem = WindowsResource(self.driver) self.databaseElem = DatabaseResource(self.driver) self.usergroup = Usergroup(self.driver) self.regroup = Regroup(self.driver) self.appElem = AppPage(self.driver) self.authorizationElem = AuthorizationPage(self.driver) self.testAutho = testAuthorization(self.driver) self.clientElem = ClientPage(self.driver) self.command = CommandRule(self.driver) self.ntp = NtpService(self.driver) self.mail = MailPage(self.driver) self.syslog = Syslog(driver) self.ssoElem = SsoPage(self.driver) self.alarm = AlarmPage(self.driver) self.PwdStr = PwdStrategy(self.driver) self.passwdenvelope = EnvelopePage(self.driver)
def __init__(self, driver): self.driver = driver self.log = log() self.cmf = commonFun(driver) self.frameElem = frameElement(driver) self.regroup = Regroup(driver) self.dptment = Department(driver)
def __init__(self, driver): self.driver = driver self.log = log() self.role = Role(driver) self.testrole = testRole(driver) self.cmf = commonFun(driver) self.frameElem = frameElement(driver) self.dptment = Department(driver)
def __init__(self, driver): self.driver = driver self.getElem = getElement(driver) self.frameElem = frameElement(driver) self.cnEn = cnEncode() self.dptment = Department(driver) self.regroup = Regroup(driver)
def __init__(self, driver): self.driver = driver self.log = log() self.role = Role(driver) self.testrole = testRole(driver) self.cmf = commonFun(driver) self.frameElem = frameElement(driver) self.dptment = Department(driver)
def __init__(self, driver): self.driver = driver self.log = log() self.cmf = commonFun(driver) self.getElem = getElement(driver) self.cnEnde = cnEncode() self.actions = ActionChains(self.driver) self.tableElem = tableElement(self.driver) self.selectElem = selectElement(driver) self.dptment = Department(self.driver) self.frameElem = frameElement(self.driver)
def __init__(self, driver): self.driver = driver self.getElem = getElement(driver) self.selectElem = selectElement(driver) self.frameElem = frameElement(driver) self.cmf = commonFun(driver) self.log = log() self.cnEn = cnEncode() self.depart = Department(driver) self.loginElem = loginPage(self.driver) self.authElem = AuthorizationPage(self.driver) self.acproval = Accapproval(driver)
class Regroup(object): def __init__(self, driver): self.driver = driver self.getElem = getElement(driver) self.frameElem = frameElement(driver) self.cnEn = cnEncode() self.dptment = Department(driver) u'''左边框点击资源组''' def click_left_regroup(self): self.frameElem.from_frame_to_otherFrame("leftFrame") self.getElem.find_element_wait_and_click_EC("id", "url0") u'''点击资源组展开按钮''' def click_regroup_switch(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "resource_group_1_switch") u'''点击基本操作 parameter: - operation:代表基本操作0代表添加、1代表编辑、2代表上移、3代表下移、4代表删除 - deptname:传入要被操作的部门名称 - regroup:传入要被操作的资源组名称 ''' def regroup_click_basic_operation(self, operation, deptname='no', regroup='no'): if deptname != 'no': self.dptment.click_basic_operation_public_method(deptname, "resource_group_", "_switch") if operation == 0: self.dptment.click_basic_operation_public_method(deptname, "addBtn_resource_group_") elif regroup != 'no': if operation == 1: self.dptment.click_basic_operation_public_method(regroup, "resource_group_", "_edit") elif operation == 2: self.dptment.click_basic_operation_public_method(regroup, "toUpBtn_resource_group_") elif operation == 3: self.dptment.click_basic_operation_public_method(regroup, "toDownBtn_resource_group_") elif operation == 4: self.dptment.click_basic_operation_public_method(regroup, "resource_group_", "_remove") u'''点击上移、下移按钮校验 parameter: - operation:代表基本操作2代表上移、3代表下移 - deptname:传入要被操作的部门名称 - regroup:传入要被操作的资源组名称 ''' def regroup_click_up_down_check(self, operation, deptname='no', regroup='no'): if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "resource_group_", "_switch") self.frameElem.from_frame_to_otherFrame("rigthFrame") #获取所有a标签对象 elems = self.driver.find_elements_by_tag_name("a") for elem in elems: elemtext = elem.get_attribute("title") elemid = elem.get_attribute("id") #判断传入要被操作的资源组和获取的文本是否相等 if regroup == elemtext: self.getElem.find_element_wait_and_click("id", elemid) #点击上移按钮 if operation == 2: #移动次数 locates = range(self.regroup_return_locate_line(regroup)) self.dptment.move_down_check(elemid, locates, "toUpBtn_resource_group_") #点击下移按钮 elif operation == 3: locates = range(self.return_regroup_all_line() - self.regroup_return_locate_line(regroup)) self.dptment.move_down_check(elemid, locates, "toDownBtn_resource_group_") break u'''返回在资源组树中位于第几行 parameter: - regroup:传入要被操作的资源组 ''' def regroup_return_locate_line(self, regroup): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #位于第几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") elemtext = elem.get_attribute("title") selemid = self.cnEn.cnCode(elemid) sapnid = "resource_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icozy_ico_docu": locate += 1 if regroup == elemtext: return locate u'''返回在资源组总共几行''' def return_regroup_all_line(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #总共几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") selemid = self.cnEn.cnCode(elemid) sapnid = "resource_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icozy_ico_docu": locate += 1 return locate + 1 u'''点击资源组添加资源按钮 parameter: - regroup:传入要被操作的资源组名称 - deptname:传入要被操作的部门名称 ''' def click_regroup_add_resouce(self, regroup, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "resource_group_", "_switch") #选中资源组 self.dptment.click_basic_operation_public_method(regroup, "resource_group_", "_span") self.getElem.find_element_wait_and_click_EC("id", "add_Resource") u'''点击资源组批量删除资源按钮 parameter: - regroup:传入要被操作的资源组名称 - deptname:传入要被操作的部门名称 ''' def click_regroup_bulk_resouce(self, regroup, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "resource_group_", "_switch") #选中资源组 self.dptment.click_basic_operation_public_method(regroup, "resource_group_", "_span") self.check_delect_all() self.getElem.find_element_wait_and_click_EC("id", "delete_Resource") u'''点击资源组删除资源按钮 parameter: - regroup:传入要被操作的资源组名称 - rename:资源名称 - deptname:传入要被操作的部门名称 ''' def click_regroup_del_resouce(self, regroup, rename, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "resource_group_", "_switch") #选中资源组 self.dptment.click_basic_operation_public_method(regroup, "resource_group_", "_span") #获取table对象 tableelem = self.getElem.find_element_with_wait_EC("id", "ta") #获取table对象下的所有tr trelems = tableelem.find_elements_by_tag_name("tr") #位于第几行 line = 0 #循环所有tr for trelem in trelems: line += 1 #找到tr下所有td对象 tds = trelem.find_elements_by_tag_name("td") #获取td[2]的文本 tdtext = tds[2].text if tdtext == rename: xpath = "/html/body/div/div[2]/div[7]/div/table/tbody/tr[" + str(line) + "]/td[6]/input" self.getElem.find_element_wait_and_click_EC("xpath", xpath) break u'''勾选资源组全选删除框''' def check_delect_all(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "delect_all") u'''点击资源组检索按钮''' def click_regroup_query(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "query_Resource") u'''点击资源组重置按钮''' def click_regroup_reset(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "resetting") u'''资源组页面填写资源名称或IP parameter: - renameorip:资源名称或IP ''' def set_rename_ip(self, renameorip): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_clear('id', "txtfortResourceAccountOrIp") self.getElem.find_element_wait_and_sendkeys('id', "txtfortResourceAccountOrIp", renameorip) u'''点击资源组添加资源的检索按钮''' def click_regroup_add_resouce_query(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "quick_Resource") u'''点击资源组添加资源的重置按钮''' def click_regroup_add_resouce_reset(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "resetting") u'''添加资源页面填写资源名称 parameter: - rename:资源名称 ''' def set_rename(self, rename): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_clear('id', "fort_resource_name") self.getElem.find_element_wait_and_sendkeys('id', "fort_resource_name", rename) u'''添加资源页面填写资源ip parameter: - ipdress:资源ip ''' def set_ip(self, ipdress): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_clear('id', "fort_resource_ip") self.getElem.find_element_wait_and_sendkeys('id', "fort_resource_ip", ipdress) u'''点击资源部门展开按钮''' def click_resource_depart_switch(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "user_tree_1_switch") u'''勾选部门框 parameter: - deptname:传入要被勾选的部门名称 ''' def check_depart(self, deptname): self.click_resource_depart_switch() self.frameElem.from_frame_to_otherFrame("artIframe") self.click_public_method(deptname, "user_tree_", "_check") u'''勾选资源框或者部门框 parameter: - rename:资源名称或者部门名称 ''' def check_one_resource(self, rename): self.frameElem.from_frame_to_otherFrame("artIframe") #获取table对象 tableelem = self.getElem.find_element_with_wait_EC("id", "user_table") #获取table对象下的所有tr trelems = tableelem.find_elements_by_tag_name("tr") #位于第几行 line = 0 #循环所有tr for trelem in trelems: line += 1 #找到tr下所有td对象 tds = trelem.find_elements_by_tag_name("td") #获取td[2]的文本 tdtext = tds[1].text if tdtext == rename: xpath = "/html/body/div[3]/div[2]/table/tbody/tr[" + str(line) + "]/td[1]/li/input" self.getElem.find_element_wait_and_click_EC("xpath", xpath) break u'''勾选全部资源框或者部门框''' def check_all_resource(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "user_check_all") u'''点击资源确定按钮''' def click_resource_okbutton(self): self.frameElem.switch_to_content() self.getElem.find_element_wait_and_click_EC("id", "okButton") u'''点击公共方法 parameter: - name:传入要被操作的名称 - first:id的前半段字符 - end:id的后半段字符,可以不进行填写 ''' def click_public_method(self, name, first, end='no'): self.frameElem.from_frame_to_otherFrame("artIframe") #获取所有a标签的对象 elems = self.driver.find_elements_by_tag_name("a") for elem in elems: elemtext = elem.get_attribute("title") elemid = elem.get_attribute("id") selemid = self.cnEn.cnCode(elemid) if name == elemtext: self.getElem.find_element_wait_and_click("id", elemid) if end != 'no': buttonid = first + filter(str.isdigit, selemid) + end else: buttonid = first + filter(str.isdigit, selemid) self.getElem.find_element_wait_and_click("id", buttonid) break
class CommonSuiteData(): def __init__(self, driver): self.driver = driver self.dataFile = dataFileName() self.cmf = commonFun(self.driver) self.initDriver = initDriver() self.loginElem = loginPage(self.driver) self.roleElem = Role(self.driver) self.userElem = UserPage(self.driver) self.frameElem = frameElement(self.driver) self.authElem = AuthMethodPage(self.driver) self.dptment = Department(self.driver) self.resource = Resource(self.driver) self.account = Accountmgr(self.driver) self.windowsElem = WindowsResource(self.driver) self.databaseElem = DatabaseResource(self.driver) self.usergroup = Usergroup(self.driver) self.regroup = Regroup(self.driver) self.appElem = AppPage(self.driver) self.authorizationElem = AuthorizationPage(self.driver) self.testAutho = testAuthorization(self.driver) self.clientElem = ClientPage(self.driver) self.command = CommandRule(self.driver) self.ntp = NtpService(self.driver) self.mail = MailPage(self.driver) self.syslog = Syslog(driver) self.ssoElem = SsoPage(self.driver) self.alarm = AlarmPage(self.driver) self.PwdStr = PwdStrategy(self.driver) self.passwdenvelope = EnvelopePage(self.driver) u'''切换模块 parameter: levelText1 : 一级模块名称 levelText2 : 二级模块名称 ''' def switch_to_moudle(self, levelText1, levelText2): time.sleep(2) self.frameElem.from_frame_to_otherFrame("topFrame") self.cmf.select_menu(levelText1) self.cmf.select_menu(levelText1, levelText2) #----------------------------------------用户相关------------------------------ u'''填写用户信息 parameters: data[1] : 用户名称 data[3] : 用户账号 data[4] : 用户密码 data[5] : 确认密码 data[6] : 开始时间 data[7] : 访问方式 data[8] : AD域账号 roleText : 用户角色 ''' def set_user_basic_info(self, data, roleText, status='no'): self.frameElem.from_frame_to_otherFrame("mainFrame") if status != 'no': self.userElem.add_role_button() else: self.userElem.add_button() self.userElem.set_user_account(data[3]) self.userElem.set_user_name(data[1]) self.userElem.set_user_pwd(data[4]) self.userElem.set_user_enquire_pwd(data[5]) self.userElem.set_start_time(data[6]) if data[12] != "": self.userElem.set_user_email(data[12]) if data[10] != "": self.userElem.set_dep(data[10]) if data[7] != "": #设置访问方式 self.userElem.click_advanced_option() self.userElem.set_auth_method_rule(data[7]) #访问方式不是默认方式 if int(data[7]) != 2: self.userElem.set_ad_name(data[8]) if data[9] != "": self.userElem.set_user_role(roleText) self.userElem.click_role_add_button() self.userElem.save_button() self.cmf.click_login_msg_button() u'''删除用户''' def del_user(self): self.switch_to_moudle(u"运维管理", u"用户") self.frameElem.from_frame_to_otherFrame("mainFrame") self.userElem.select_all_button() self.userElem.del_button() self.frameElem.switch_to_content() self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() u'''用户退出''' def user_quit(self): self.loginElem.quit() #-----------------------------部门-------------------------------------------- u'''填写部门名称 parameters : data[0] : 部门名称 data[1] : 操作类型(添加:0) data[2] : 添加的部门名称 ''' def set_dep(self, data): self.switch_to_moudle(u"运维管理", u"组织定义") self.dptment.click_left_department() #点击展开按钮 self.dptment.click_dept_switch() self.dptment.click_basic_operation(data[0], int(data[1])) self.dptment.popup_sendkey(data[2]) self.dptment.click_ok_button() self.cmf.click_login_msg_button() def set_del_dep(self, data): self.switch_to_moudle(u"运维管理", u"组织定义") self.dptment.click_left_department() self.dptment.click_dept_switch() self.dptment.click_basic_operation(data[0], int(data[1])) self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() #-----------------------------用户组------------------------------------------ u'''添加用户到用户组''' def set_user_to_group(self, data): # self.usergroup.click_left_usergroup() # self.usergroup.click_usergroup_switch() self.usergroup.click_usergroup_add_user(data[3], data[4]) self.regroup.check_depart(data[5]) self.usergroup.click_usergroup_add_user_query() self.regroup.check_all_resource() self.regroup.click_resource_okbutton() self.cmf.click_login_msg_button() u'''填写用户组信息 parameters: data[0] : 操作类型(添加:0) data[1] : 部门名称 data[2] : 编辑的用户组名称 data[3] : 添加的用户组名称 ''' def set_add_user_group(self, data): self.switch_to_moudle(u"运维管理", u"组织定义") self.usergroup.click_left_usergroup() self.usergroup.click_usergroup_switch() self.usergroup.usergroup_click_basic_operation(int(data[0]), data[1], data[2]) self.dptment.popup_sendkey(data[3]) self.dptment.click_ok_button() self.cmf.click_login_msg_button() if data[4] != "": self.set_user_to_group(data) u'''删除用户组 parameters : data[0] : 操作类型(删除:4) data[1] : 部门名称 data[2] : 删除的用户组名称 ''' def set_del_user_group(self, data): self.switch_to_moudle(u"运维管理", u"组织定义") self.usergroup.click_left_usergroup() self.usergroup.click_usergroup_switch() self.usergroup.usergroup_click_basic_operation(int(data[0]), data[1], data[2]) self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() #-----------------------------资源组------------------------------------------ u'''添加资源到资源组''' def set_res_to_group(self, data): self.regroup.click_regroup_add_resouce(data[3], data[4]) self.regroup.check_depart(data[5]) self.regroup.click_regroup_add_resouce_query() self.regroup.check_all_resource() self.regroup.click_resource_okbutton() time.sleep(1) self.cmf.click_login_msg_button() u'''填写资源组信息 parameters: data[0] : 操作类型(添加:0) data[1] : 部门名称 data[2] : 编辑的资源组名称 data[3] : 添加的资源组名称 ''' def set_add_res_group(self, data): self.switch_to_moudle(u"运维管理", u"组织定义") self.regroup.click_left_regroup() self.regroup.click_regroup_switch() self.regroup.regroup_click_basic_operation(int(data[0]), data[1], data[2]) self.dptment.popup_sendkey(data[3]) self.dptment.click_ok_button() self.cmf.click_login_msg_button() if data[4] != "": self.set_res_to_group(data) u'''删除资源组 parameters : data[0] : 操作类型(删除:4) data[1] : 部门名称 data[2] : 删除的资源组名称 ''' def set_del_res_group(self, data): self.switch_to_moudle(u"运维管理", u"组织定义") self.regroup.click_left_regroup() self.regroup.click_regroup_switch() self.regroup.regroup_click_basic_operation(int(data[0]), data[1], data[2]) self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() #-----------------------------资源-------------------------------------------- u'''填写资源基本信息 parameters : data[0]:资源类型 data[1]:资源名称 data[2]:资源IP data[3]:部门 ''' def set_resource_info(self, data): self.switch_to_moudle(u"运维管理", u"资源") self.frameElem.from_frame_to_otherFrame("mainFrame") self.resource.click_add_edit_button() self.resource.select_resource_type(data[0]) self.resource.set_resource_name(data[1]) self.resource.set_resource_ip(data[2]) if data[3] != 'no': time.sleep(5) self.resource.set_depart(data[3]) #选择协议 if data[4] != "": self.resource.select_agreement(data[4]) if data[5] != "": self.resource.click_account_sync() self.resource.set_admin_account(data[5]) self.resource.set_admin_pwd(data[6]) self.resource.set_confirm_pwd(data[7]) #提权口令 if data[8] != "": self.resource.click_up_super() self.resource.set_super_pwd(data[8]) self.resource.set_super_confirm_pwd(data[9]) #填写域名 if data[10] != "": self.databaseElem.set_domain_name(data[10]) #账号分类 if data[11] != "": self.resource.click_account_sync() self.windowsElem.select_account_type(data[11]) #归属域控主机 if data[12] != "": self.windowsElem.select_attach_domian(data[12]) #主机名 if data[13] != "": self.databaseElem.set_host_name(data[13]) self.resource.click_save_button() self.cmf.click_login_msg_button() time.sleep(3) # self.driver.implicitly_wait(3) self.cmf.back() u'''填写数据库基本信息''' def set_database_res_info(self, data): self.switch_to_moudle(u"运维管理", u"资源") self.frameElem.from_frame_to_otherFrame("mainFrame") self.resource.click_add_edit_button() self.resource.select_resource_type(data[2]) self.databaseElem.add_edit_database_resource(data) self.cmf.click_login_msg_button() time.sleep(3) self.cmf.back() u'''填写资源账号基本信息 parameters: data[1]:资源名称 data[4] : 账号编辑方式 data[5] : 账号名称 data[6] : 口令 data[7] : 确认口令 ''' def set_res_account(self, data): self.switch_to_moudle(u"运维管理", u"资源") self.account.click_account_manage_button(data[0]) time.sleep(1) self.account.click_account_add_edit_button(data[2]) self.account.select_edit_way(data[1]) if data[2] != "no": self.account.set_account_name(data[2]) self.account.set_account_pwd(data[3]) self.account.set_account_confirm_pwd(data[4]) self.account.set_authorize() self.account.click_save_account() self.cmf.click_login_msg_button() #-----------------------------授权---------------------------------------- u'''填写授权基本信息 parameters: data[1]:授权名称 data[2]:部门名称 data[3]:状态 ''' def set_authorization(self, data): self.switch_to_moudle(u'运维管理', u'授权') self.authorizationElem.add_button() self.authorizationElem.set_auth_name(data[1]) self.authorizationElem.set_dep(data[2], data[3]) self.authorizationElem.click_add_user() self.authorizationElem.set_select_user_search_button() self.authorizationElem.set_user_check_all_button() self.authorizationElem.set_ok_button() #添加资源 self.authorizationElem.click_add_res() self.authorizationElem.set_select_res_search_button() self.authorizationElem.set_res_check_all_button() self.authorizationElem.set_ok_button() self.authorizationElem.save_button() self.cmf.click_login_msg_button() self.cmf.back() #---------------------------------填写应用发布信息---------------------------- u'''填写应用发布信息''' def set_application_info(self, data): self.switch_to_moudle(u"系统配置", u"关联服务") self.appElem.app_module_button() self.appElem.click_add_button() self.appElem.set_name(data[0]) self.appElem.set_ip(data[1]) self.appElem.set_app_account(data[3]) self.appElem.set_pwd(data[4]) self.appElem.set_repwd(data[5]) self.appElem.ip_is_succ() self.appElem.click_save_button() self.cmf.click_login_msg_button() u'''删除应用发布''' def del_application(self, rowList): self.switch_to_moudle(u"系统配置", u"关联服务") self.appElem.app_module_button() self.frameElem.from_frame_to_otherFrame("rigthFrame") app_data = self.get_table_data("add_application") for dataRow in rowList: data = app_data[dataRow] if dataRow != 0: self.appElem.operate_del(data[0]) self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() #-------------------------------------客户端----------------------------------- u'''填写客户端基本信息''' def set_client_info(self, data): #self.switch_to_moudle(u"系统配置",u"客户端配置") self.frameElem.from_frame_to_otherFrame("mainFrame") self.clientElem.add_button() self.clientElem.set_client_name(data[2]) self.clientElem.set_action_stream(data[3]) self.clientElem.set_database_res_type(data[0], data[1]) self.clientElem.save_button() u'''删除客户端''' def set_delete_client_info(self, data): #self.switch_to_moudle(u"系统配置",u"客户端配置") self.frameElem.from_frame_to_otherFrame("mainFrame") self.clientElem.select_query_res_type(data[0], data[1]) self.clientElem.click_query_button() self.clientElem.del_operation(data[2]) self.cmf.click_login_msg_button() #------------------------------资源账号授权------------------------------------ u'''添加用户和资源账号类型的授权''' def set_authorization_info(self, data): self.switch_to_moudle(u"运维管理", u"授权") self.testAutho.common_part(data) self.testAutho.add_user(data) self.authorizationElem.click_add_res_account() self.authorizationElem.set_select_res_ip(data[6]) self.authorizationElem.set_select_res_account(data[8]) self.authorizationElem.set_select_res_search_button() self.authorizationElem.set_res_check_all_button() self.authorizationElem.set_ok_button() self.authorizationElem.res_account_status() self.authorizationElem.save_button() self.cmf.click_login_msg_button() u'''删除授权''' def del_authorization(self): self.switch_to_moudle(u"运维管理", u"授权") self.frameElem.from_frame_to_otherFrame("mainFrame") self.authorizationElem.check_all() self.authorizationElem.del_button() self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() #-----------------------------数据---------------------------------------- u'''获取数据 Parameters: - sheetname:sheet名称 return:表格数据 ''' def get_table_data(self, sheetname): filePath = self.dataFile.get_common_suite_test_data_url() fileData = self.dataFile.get_data(filePath, sheetname) return fileData u'''添加应用发布''' def add_application(self, rowList): app_data = self.get_table_data('add_application') for dataRow in rowList: data = app_data[dataRow] if dataRow != 0: self.set_application_info(data) u'''初始化用户登录''' def isomper_login(self): login_data = self.get_table_data('add_user') logindata = login_data[4] self.loginElem.login(logindata) u'''添加用户数据模板''' def add_user_data_module(self, rowList): self.switch_to_moudle(u"运维管理", u"用户") user_data = self.get_table_data("add_user") for dataRow in rowList: data = user_data[dataRow] if dataRow != 0: self.set_user_basic_info(data, data[9], data[13]) self.userElem.click_back_button() u'''添加系统管理员和部门管理员的用户''' def add_user_with_role(self): rowList = [1] self.add_user_data_module(rowList) u'''登录并切换至角色公用方法 parameters: login_status :'no'(登录状态:没有登录) ''' def login_and_switch_to_common(self, login_status='no'): login_data = self.get_table_data("add_user") logindata = login_data[1] if login_status == 'no': self.loginElem.login(logindata) #获取角色 roleList = logindata[9].split(',') return roleList u'''使用系统管理员登录系统''' def login_sysadmin(self): login_data = self.get_table_data('add_user') logindata = login_data[1] self.loginElem.login(logindata) u'''使用安全保密管理员登录系统''' def login_secadmin(self): login_data = self.get_table_data('add_user') logindata = login_data[2] self.loginElem.login(logindata) u'''使用安全审计员登录系统''' def login_sysaudit(self): login_data = self.get_table_data('add_user') logindata = login_data[3] self.loginElem.login(logindata) u'''用户登录系统''' def login_user(self, row): login_data = self.get_table_data('add_user') logindata = login_data[int(row)] self.loginElem.login(logindata) u'''切换至运维操作员''' def switch_to_operation(self): self.cmf.select_role_by_text(u"运维操作员") #使用新添加的用户登录 def use_new_user_login(self): login_data = self.get_table_data("add_user") logindata = login_data[1] time.sleep(2) self.loginElem.login(logindata) u'''运维管理员登录''' def sso_user_login(self, rowList): login_data = self.get_table_data("add_user") logindata = login_data[rowList] time.sleep(1) self.loginElem.login(logindata) u'''运维管理员AD域方式登录''' def sso_user_ad_login(self, rowList): login_data = self.get_table_data("add_user") logindata = login_data[rowList] self.frameElem.switch_to_content() self.loginElem.set_login_method(logindata[2]) self.loginElem.set_ad_login_username(logindata[3]) self.loginElem.set_ad_login_pwd(logindata[11]) time.sleep(1) self.loginElem.click_login_button() u'''添加认证配置''' def add_meth_method(self): meth_data = self.get_table_data("meth_method") methData = meth_data[1] self.switch_to_moudle(u"策略配置", u"认证强度") self.authElem.select_all_auth(methData) u'''会话配置,设置最大登录数''' def set_login_max_num(self): self.loginElem.set_max_login_count() u'''添加登录测试数据''' def add_login_data(self): rowList = [2, 3, 4, 5, 6, 7] self.add_user_data_module(rowList) u'''添加授权用户''' def add_authorization_user(self): rowList = [8, 9, 10, 11, 12] self.add_user_data_module(rowList) u'''添加应用发布用户''' def add_app_user(self): rowList = [3] self.add_user_data_module(rowList) u'''添加单点登录用户''' def add_sso_user(self): rowList = [6, 8, 9, 10, 11, 13] self.add_user_data_module(rowList) u'''添加部门''' def add_dep(self, rowList): dep_data = self.get_table_data("add_dep") for dataRow in rowList: data = dep_data[dataRow] if dataRow != 0: self.set_dep(data) u'''删除部门''' def del_dep(self, rowList): dep_data = self.get_table_data("del_dep") for dataRow in rowList: data = dep_data[dataRow] if dataRow != 0: self.set_del_dep(data) u'''增加资源数据模板''' def add_resource_modele(self, rowList): res_data = self.get_table_data("add_res") for dataRow in rowList: data = res_data[dataRow] if dataRow != 0: self.set_resource_info(data) u'''添加授权资源''' def add_resource(self): rowList = [1, 2] self.add_resource_modele(rowList) u'''添加sso资源''' def add_sso_resource(self): #rowList = [1,2,3,4,5,7,8] rowList = [1, 3, 4, 5] self.add_resource_modele(rowList) u'''添加依附操作系统''' def add_database_resource(self): rowList = [2] self.add_resource_modele(rowList) u'''添加资源账号数据模板''' def add_res_account_module(self, rowList): account_data = self.get_table_data("res_account") for dataRow in rowList: data = account_data[dataRow] if dataRow != 0: self.set_res_account(data) u'''添加授权资源账号''' def add_res_account(self): rowList = [1, 3] self.add_res_account_module(rowList) u'''添加sso资源账号''' def add_sso_res_account(self): rowList = [1, 2, 4, 5, 6, 7] #rowList = [1,2,3,4,5,6,7,9,10] self.add_res_account_module(rowList) u'''添加用户组''' def add_user_group(self, rowList): user_group_data = self.get_table_data("add_user_group") for dataRow in rowList: data = user_group_data[dataRow] if dataRow != 0: self.set_add_user_group(data) u'''删除用户组''' def del_user_group(self, rowList): user_group_data = self.get_table_data("del_user_group") for dataRow in rowList: data = user_group_data[dataRow] if dataRow != 0: self.set_del_user_group(data) u'''添加资源组''' def add_res_group(self, rowList): res_group_data = self.get_table_data("add_res_group") for dataRow in rowList: data = res_group_data[dataRow] if dataRow != 0: self.set_add_res_group(data) u'''删除资源组''' def del_res_group(self, rowList): res_group_data = self.get_table_data("del_res_group") for dataRow in rowList: data = res_group_data[dataRow] if dataRow != 0: self.set_del_res_group(data) u'''添加授权''' def add_authrization(self, rowList): auth_data = self.get_table_data("add_authorization") for dataRow in rowList: data = auth_data[dataRow] if dataRow != 0: self.set_authorization(data) u'''添加授权数据模板''' def add_authorization_module(self, rowList): autho_data = self.get_table_data("add_account_auth") for dataRow in rowList: data = autho_data[dataRow] if dataRow != 0: self.set_authorization_info(data) self.authorizationElem.back_button() u'''添加单点登录授权''' def add_sso_authorization(self): rowList = [1] #rowList = [1,2,3,4,5,6,7] self.add_authorization_module(rowList) u'''单点登录模板''' def sso_module(self, rowList): sso_data = self.get_table_data("sso") for dataRow in rowList: data = sso_data[dataRow] if dataRow != 0: self.frameElem.from_frame_to_otherFrame("rigthFrame") self.ssoElem.select_account(data[0], data[1]) self.ssoElem.select_sso_icon(data[0], data[2]) if data[3] != "": self.ssoElem.select_protocol(data[3]) #self.ssoElem.execute_chrome_key() self.ssoElem.choice_browser(data[2], data[4], data[5], data[6]) u'''添加客户端数据模板''' def add_client_module(self, rowList): client_data = self.get_table_data("add_client") self.switch_to_moudle(u"系统配置", u"客户端配置") for dataRow in rowList: data = client_data[dataRow] if dataRow != 0: self.set_client_info(data) u'''删除客户端数据模板''' def del_client_module(self, rowList): client_data = self.get_table_data("del_client") self.switch_to_moudle(u"系统配置", u"客户端配置") for dataRow in rowList: data = client_data[dataRow] if dataRow != 0: self.set_delete_client_info(data) u'''添加数据库资源模板''' def add_database_res_module(self, rowList): database_data = self.get_table_data("add_database") for dataRow in rowList: data = database_data[dataRow] if dataRow != 0: self.set_database_res_info(data) u'''删除用户数据模板''' def del_user_data_module(self, rowList): self.switch_to_moudle(u"运维管理", u"用户") self.frameElem.from_frame_to_otherFrame("mainFrame") user_data = self.get_table_data("add_user") for dataRow in rowList: data = user_data[dataRow] if dataRow != 0: self.switch_to_moudle(u"运维管理", u"用户") self.userElem.operate_delete(data[1]) self.frameElem.switch_to_content() self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() u'''添加密码策略数据模板''' def add_strategy_data_module(self, rowList): self.switch_to_moudle(u"策略配置", u"密码策略") self.frameElem.from_frame_to_otherFrame("mainFrame") pwd_data = self.get_table_data("add_strategy") for dataRow in rowList: data = pwd_data[dataRow] if dataRow != 0: self.PwdStr.add_pwd_button() self.PwdStr.set_pwd_name(data[1]) self.PwdStr.term_of_validity(data[2]) self.PwdStr.password_length_min(data[3]) self.PwdStr.password_length_max(data[4]) self.PwdStr.set_lower_case(data[5]) self.PwdStr.set_capital(data[6]) self.PwdStr.set_minimum_digital(data[7]) self.PwdStr.set_Minimum_symbol(data[8]) self.PwdStr.save_button() self.frameElem.switch_to_content() self.cmf.click_msg_button(1) self.PwdStr.return_button() u'''删除密码策略数据模板''' def del_strategy_data_module(self, rowList): self.switch_to_moudle(u"策略配置", u"密码策略") self.frameElem.from_frame_to_otherFrame("mainFrame") pwd_data = self.get_table_data("add_strategy") for dataRow in rowList: data = pwd_data[dataRow] if dataRow != 0: self.PwdStr.del_sing_strategy(data[1]) self.frameElem.switch_to_content() self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() u'''删除资源数据模板''' def del_resource_modele(self, rowList): self.switch_to_moudle(u"运维管理", u"资源") self.frameElem.from_frame_to_otherFrame("mainFrame") res_data = self.get_table_data("add_res") for dataRow in rowList: data = res_data[dataRow] if dataRow != 0: self.resource.click_del_button(data[1]) self.frameElem.switch_to_content() self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() u'''删除授权数据模板''' def del_authorization_module(self, rowList): self.switch_to_moudle(u'运维管理', u'授权') self.frameElem.from_frame_to_otherFrame("mainFrame") autho_data = self.get_table_data("add_account_auth") for dataRow in rowList: data = autho_data[dataRow] if dataRow != 0: self.authorizationElem.click_auth_checkbox(data[2]) self.authorizationElem.del_button() self.frameElem.switch_to_content() self.cmf.click_login_msg_button() self.cmf.click_login_msg_button() #-------------------------------添加涉密版用户前置条件--------------------------------------- u'''前置条件通用''' def secret_user_prefix_condition(self): self.isomper_login() self.switch_to_moudle(u'角色管理', u'角色定义') #------------------------------部门前置条件----------------------------------- def depart_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #切换到组织定义 self.switch_to_moudle(u"运维管理", u"组织定义") #------------------------------资源组前置条件----------------------------------- def regroup_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() #添加资源 self.add_resource_modele([9, 6]) self.user_quit() #使用系统管理员登录 self.login_sysadmin() #切换到组织定义 self.switch_to_moudle(u"运维管理", u"组织定义") def regroup_module_post_condition(self): self.user_quit() #使用安全保密管理员登录 self.login_secadmin() #删除资源 self.del_resource_modele([9, 6]) self.user_quit() #------------------------------用户组前置条件----------------------------------- def usergroup_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #添加用户 self.add_user_data_module([5, 6, 7, 8]) #切换到组织定义 self.switch_to_moudle(u"运维管理", u"组织定义") def usergroup_module_post_condition(self): self.del_user_data_module([5, 6, 7, 8]) self.user_quit() #------------------------------NTP服务前置条件--------------------------------- def ntp_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #切换到NTP服务 self.switch_to_moudle(u'系统配置', u'关联服务') self.ntp.click_left_moudle(0) #-------------------------------SYSLOG前置条件--------------------------------- def syslog_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #切换到NTP服务 self.switch_to_moudle(u'系统配置', u'关联服务') self.ntp.click_left_moudle(1) #------------------------------邮件前置条件--------------------------------- def mail_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #切换到邮件服务 self.switch_to_moudle(u'系统配置', u'关联服务') self.mail.click_left_moudle_test() #------------------------------密码信封前置条件--------------------------------- def passwd_envelope_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #切换到邮件服务 self.switch_to_moudle(u'系统配置', u'关联服务') self.passwdenvelope.click_left_moudle_envelope() #-------------------------------应用发布后置条件------------------------------- def application_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() self.add_user_data_module([9, 10]) self.switch_to_moudle(u"系统配置", u"关联服务") def application_module_post_condition(self): self.del_user_data_module([9, 10]) self.user_quit() #-------------------------------网卡配置前置条件------------------------------- def network_card_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #切换到网卡配置 self.switch_to_moudle(u'系统配置', u'网络配置') #-------------------------------路由配置前置条件------------------------------- def routing_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #切换到路由配置 self.cmf.select_menu(u'系统配置', u'网络配置', u'路由配置') #------------------------------备份还原前置条件----------------------------------- def backup_restore_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() #-----------------------------客户端配置前置条件------------------------------ def client_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() self.switch_to_moudle(u"系统配置", u"客户端配置") #-----------------------------AD域抽取前置条件------------------------------ def ad_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() self.add_user_data_module([18]) self.switch_to_moudle(u"系统配置", u"AD定时抽取") u'''AD域抽取后置条件''' def ad_module_post_condition(self): self.del_user_data_module([18]) self.user_quit() #------------------------------使用授权前置条件--------------------------------- def use_auth_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() self.switch_to_moudle(u'系统配置', u'使用授权') #------------------------------用户模块前置条件-------------------------------- u'''用户模块前置条件''' def user_module_prefix_condition(self): #使用系统管理员登录 self.login_sysadmin() self.switch_to_moudle(u'运维管理', u'用户') #--------------------------认证方式前置条件------------------------------------ u'''认证方式前置条件''' def auth_method_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() self.add_user_data_module([11]) self.switch_to_moudle(u"策略配置", u"认证强度") self.frameElem.from_frame_to_otherFrame("mainFrame") u'''认证方式后置条件''' def auth_method_post_condition(self): self.del_user_data_module([11]) self.user_quit() #---------------------------------登录模块前置条件----------------------------- u'''登录模块前置条件''' def login_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() #配置认证方式 self.add_meth_method() #配置最大登录数 self.set_login_max_num() #添加登录用户数据 self.add_user_data_module([12, 13, 14, 15, 16, 17]) #改变a的状态为关 self.userElem.change_user_status_off("gyrlogin2") #系统管理员退出 self.user_quit() u'''登录模块后置条件''' def login_module_post_condition(self): #使用安全保密管理员登录 self.login_secadmin() #删除认证方式 self.authElem.del_auth_method() self.del_user_data_module([12, 13, 14, 15, 16, 17]) self.user_quit() #------------------------------告警策略前置条件--------------------------------- def alarm_strategy_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() def alarm_strategy_module_post_condition(self): self.alarm.del_command_config() self.alarm.del_default_config() self.alarm.del_auth_config() self.user_quit() #------------------------------会话配置前置条件-------------------------------- def session_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() self.switch_to_moudle(u"策略配置", u"会话配置") #------------------------------密码策略前置条件-------------------------------- def pwdstr_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() #添加资源 self.add_resource_modele([14]) self.add_user_data_module([19]) self.switch_to_moudle(u"策略配置", u"密码策略") def pwdstr_module_post_condition(self): self.del_resource_modele([14]) self.del_user_data_module([19]) self.user_quit() #------------------------------linux资源前置条件----------------------------------- def linuxre_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() #添加密码策略 self.add_strategy_data_module([1]) #切换到资源 self.switch_to_moudle(u"运维管理", u"资源") def linuxre_module_post_condition(self): #删除密码策略 self.del_strategy_data_module([1]) self.user_quit() #------------------------------network资源前置条件----------------------------------- def networkre_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() #切换到资源 self.switch_to_moudle(u"运维管理", u"资源") #------------------------------windows资源前置条件----------------------------------- def windowre_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() #添加密码策略 self.add_strategy_data_module([2]) #切换到资源 self.switch_to_moudle(u"运维管理", u"资源") def windowre_module_post_condition(self): #删除密码策略 self.del_strategy_data_module([2]) self.user_quit() #-----------------------------数据库前置条件---------------------------------- def database_resource_prefix_condition(self): self.login_sysadmin() #添加应用发布 self.add_application([1]) self.user_quit() #使用安全保密管理员登录 self.login_secadmin() self.add_resource_modele([17]) self.switch_to_moudle(u"运维管理", u"资源") def database_resource_post_condition(self): self.del_resource_modele([17]) self.user_quit() self.login_sysadmin() self.del_application([1]) self.user_quit() #------------------------------授权前置条件----------------------------------- def authori_module_prefix_condition(self): #使用安全保密管理员登录 self.login_secadmin() self.add_resource_modele([15, 16]) self.add_res_account_module([18, 19]) self.user_quit() self.login_sysadmin() #添加授权用户 self.add_user_data_module([20, 21, 22, 23, 24]) self.add_res_group([1]) self.add_user_group([1]) self.user_quit() self.login_secadmin() self.switch_to_moudle(u'运维管理', u'授权') def authori_module_post_condition(self): self.del_resource_modele([15, 16]) self.user_quit() self.login_sysadmin() self.del_res_group([1]) self.del_user_group([1]) self.del_user_data_module([20, 21, 22, 23, 24]) self.user_quit() #------------------------------命令规则前置条件----------------------------------- def commandrule_module_prefix_condition(self): self.login_sysadmin() #添加用户 self.add_user_data_module([25]) self.user_quit() self.login_secadmin() #添加资源 self.add_resource_modele([3]) #添加资源账号 self.add_res_account_module([4]) #添加授权 self.add_authorization_module([2]) #切换到规则定义 self.switch_to_moudle(u'运维管理', u'规则定义') self.command.click_left_rule(0) def commandrule_module_post_condition(self): #删除授权 self.del_authorization_module([2]) #删除资源 self.del_resource_modele([3]) self.user_quit() self.login_sysadmin() #删除用户 self.del_user_data_module([25]) self.user_quit() #------------------------------时间规则前置条件----------------------------------- def timerule_module_prefix_condition(self): self.login_secadmin() #添加用户 self.add_user_data_module([26, 27, 28, 29, 30]) #切换到规则定义 self.switch_to_moudle(u'运维管理', u'规则定义') self.command.click_left_rule(1) def timerule_module_post_condition(self): #删除用户 self.del_user_data_module([26, 27, 28, 29, 30]) self.user_quit() #------------------------------地址规则前置条件----------------------------------- def addressrule_module_prefix_condition(self): self.login_secadmin() #添加用户 self.add_user_data_module([31, 32, 33, 34, 35, 36, 37, 38]) #切换到规则定义 self.switch_to_moudle(u'运维管理', u'规则定义') self.command.click_left_rule(2) def addressrule_module_post_condition(self): self.del_user_data_module([31, 32, 33, 34, 35, 36, 37, 38]) self.user_quit() #------------------------------资源时间规则前置条件----------------------------------- def retimerule_module_prefix_condition(self): self.login_sysadmin() #添加用户 self.add_user_data_module([39]) self.user_quit() self.login_secadmin() #添加资源 self.add_resource_modele([4, 5, 10]) #添加资源账号 self.add_res_account_module([5, 6, 14]) self.add_authorization_module([6]) #切换到规则定义 self.switch_to_moudle(u'运维管理', u'规则定义') self.command.click_left_rule(3) def retimerule_module_post_condition(self): self.user_quit() self.login_sysadmin() #删除用户 self.del_user_data_module([39]) self.user_quit() self.login_secadmin() #删除资源 self.del_resource_modele([4, 5, 10]) #删除授权 self.del_authorization_module([6]) self.user_quit() #------------------------------流程前置条件----------------------------------- def process_module_prefix_condition(self): self.login_sysadmin() #添加用户 self.add_user_data_module([40, 41, 42, 43, 44]) self.user_quit() self.login_secadmin() #添加资源 self.add_resource_modele([11, 12]) #添加资源账号 self.add_res_account_module([15, 16]) self.add_authrization([1]) def process_module_post_condition(self): #删除授权 self.del_authorization_module([7]) #删除资源 self.del_resource_modele([11, 12]) self.user_quit() self.login_sysadmin() #删除用户 self.del_user_data_module([40, 41, 42, 43, 44]) self.user_quit() #------------------------------双人授权前置条件----------------------------------- def dualmandate_module_prefix_condition(self): self.login_sysadmin() #添加用户 self.add_user_data_module([45, 46]) self.user_quit() self.login_secadmin() #添加资源 self.add_resource_modele([13]) #添加资源账号 self.add_res_account_module([17]) #添加授权 self.add_authrization([4]) def dualmandate_module_post_condition(self): #删除授权 self.del_authorization_module([8]) #删除资源 self.del_resource_modele([13]) self.user_quit() self.login_sysadmin() #删除用户 self.del_user_data_module([45, 46]) self.user_quit() #-----------------------------行为报表前置条件--------------------------------- def opt_report_module_prefix_condition(self): self.login_secadmin() self.add_resource_modele([18]) self.user_quit() self.login_sysadmin() self.add_user_data_module([47]) self.add_res_group([2]) self.add_user_group([2]) self.user_quit() self.login_sysaudit() self.switch_to_moudle(u"报表管理", u"审计报表") def opt_report_module_post_condition(self): self.user_quit() self.login_secadmin() self.del_resource_modele([18]) self.user_quit() self.login_sysadmin() self.del_user_data_module([47]) self.del_res_group([2]) self.del_user_group([2]) self.user_quit() #-----------------------------配置报表前置条件--------------------------------- def conf_report_module_prefix_condition(self): self.login_sysadmin() self.add_user_data_module([48]) self.add_user_group([3]) self.user_quit() self.login_sysaudit() self.switch_to_moudle(u"报表管理", u"审计报表") def conf_report_module_post_condition(self): self.user_quit() self.login_sysadmin() self.del_user_data_module([48]) self.del_user_group([3]) self.user_quit() #-----------------------------配置审计前置条件------------------------------ def system_log_prefix_condition(self): self.login_sysadmin() self.add_user_data_module([49]) self.switch_to_moudle(u"系统配置", u"关联服务") self.ntp.click_left_moudle(1) #填写syslog信息 self.frameElem.from_frame_to_otherFrame("rigthFrame") self.syslog.set_ip("172.16.10.11") self.syslog.set_ident("aa") self.syslog.save_button() self.cmf.click_login_msg_button() self.user_quit() self.login_sysaudit() self.switch_to_moudle(u"审计管理", u"配置审计") def system_log_post_condition(self): self.user_quit() self.login_sysadmin() self.del_user_data_module([49]) self.user_quit() #-----------------------------运维审计前置条件------------------------------ def audit_log_prefix_condition(self): self.login_and_switch_to_dep() self.add_user_data_module([43]) self.add_resource_modele([22]) self.add_res_account_module([20]) self.add_authorization_module([9]) self.switch_to_operation() self.sso_module([1]) self.user_quit() #新添加的运维管理员登录 self.sso_user_login(43) self.sso_module([1]) #新添加的运维管理员退出 self.user_quit() self.login_and_switch_to_sys() self.switch_to_moudle(u"审计管理", u"运维审计") def audit_log_post_condition(self): self.sys_switch_to_dep() self.del_authorization_module([9]) self.del_resource_modele([22]) self.del_user_data_module([43]) self.user_quit() #------------------------------命令单点登录前置条件---------------------------- u'''单点登录前置条件''' def sso_prefix_condition(self): self.login_and_switch_to_dep() self.add_resource_modele([1, 3, 4, 5]) self.add_res_account_module([1, 2, 4, 5, 6, 7]) self.add_authorization_module([1]) self.switch_to_operation() #self.user_quit() #self.login_and_switch_to_common() u'''单点登录后置条件''' def sso_post_condition(self): self.user_quit() self.login_and_switch_to_dep() self.del_resource_modele([1, 3, 4, 5]) self.del_authorization_module([1]) self.user_quit() #------------------------------windows单点登录前置条件------------------------- u'''windows单点登录前置条件''' def windows_sso_prefix_condition(self): self.login_and_switch_to_sys() #配置认证方式 self.add_meth_method() self.add_user_data_module([42]) self.sys_switch_to_dep() #self.login_and_switch_to_dep() self.add_resource_modele([2, 7, 8]) self.add_res_account_module([3, 9, 10]) self.add_authorization_module([3, 4]) self.switch_to_operation() #self.user_quit() #self.login_and_switch_to_common() u'''单点登录后置条件''' def windows_sso_post_condition(self): self.user_quit() self.login_and_switch_to_dep() self.del_authorization_module([3, 4]) self.del_user_data_module([42]) self.del_resource_modele([8, 7, 2]) self.user_quit() #------------------------------数据库单点登录前置条件------------------------- u'''数据库单点登录前置条件''' def database_sso_prefix_condition(self): #使用公共用户登录系统 self.login_and_switch_to_sys() #添加应用发布 self.add_application([2]) #添加客户端 self.add_client_module([1, 2]) self.sys_switch_to_dep() self.add_database_res_module([1, 2, 3]) self.add_res_account_module([11, 12, 13]) self.add_authorization_module([5]) self.switch_to_operation() u'''数据库单点登录后置条件''' def database_sso_post_condition(self): self.user_quit() self.login_and_switch_to_dep() self.del_authorization_module([5]) self.del_resource_modele([19, 20, 21]) self.dep_switch_to_sys() self.del_application([2]) self.del_client_module([1, 2]) self.user_quit()
class Usergroup(object): def __init__(self, driver): self.driver = driver self.getElem = getElement(driver) self.frameElem = frameElement(driver) self.cnEn = cnEncode() self.dptment = Department(driver) self.regroup = Regroup(driver) u'''左边框点击用户组''' def click_left_usergroup(self): self.frameElem.from_frame_to_otherFrame("leftFrame") self.getElem.find_element_wait_and_click_EC("id", "url1") u'''点击用户组展开按钮''' def click_usergroup_switch(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "user_group_1_switch") u'''点击基本操作 parameter: - operation:代表基本操作0代表添加、1代表编辑、2代表上移、3代表下移、4代表删除 - deptname:传入要被操作的部门名称 - usergroup:传入要被操作的用户组名称 ''' def usergroup_click_basic_operation(self, operation, deptname='no', usergroup='no'): if deptname != 'no': self.dptment.click_basic_operation_public_method(deptname, "user_group_", "_switch") if operation == 0: self.dptment.click_basic_operation_public_method(deptname, "addBtn_user_group_") elif usergroup != 'no': if operation == 1: self.dptment.click_basic_operation_public_method(usergroup, "user_group_", "_edit") elif operation == 2: self.dptment.click_basic_operation_public_method(usergroup, "toUpBtn_user_group_") elif operation == 3: self.dptment.click_basic_operation_public_method(usergroup, "toDownBtn_user_group_") elif operation == 4: self.dptment.click_basic_operation_public_method(usergroup, "user_group_", "_remove") u'''点击上移、下移按钮校验 parameter: - operation:代表基本操作2代表上移、3代表下移 - deptname:传入要被操作的部门名称 - usergroup:传入要被操作的用户组名称 ''' def usergroup_click_up_down_check(self, operation, deptname='no', usergroup='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "user_group_", "_switch") #获取所有a标签对象 elems = self.driver.find_elements_by_tag_name("a") for elem in elems: elemtext = elem.get_attribute("title") elemid = elem.get_attribute("id") #判断传入要被操作的资源组和获取的文本是否相等 if usergroup == elemtext: self.getElem.find_element_wait_and_click("id", elemid) #点击上移按钮 if operation == 2: #移动次数 locates = range(self.usergroup_return_locate_line(usergroup)) self.dptment.move_down_check(elemid, locates, "toUpBtn_user_group_") #点击下移按钮 elif operation == 3: locates = range(self.return_usergroup_all_line() - self.usergroup_return_locate_line(usergroup)) self.dptment.move_down_check(elemid, locates, "toDownBtn_user_group_") break u'''返回在用户组树中位于第几行 parameter: - usergroup:传入要被操作的用户组 ''' def usergroup_return_locate_line(self, usergroup): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #位于第几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") elemtext = elem.get_attribute("title") selemid = self.cnEn.cnCode(elemid) sapnid = "user_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icoyh_ico_docu": locate += 1 if usergroup == elemtext: return locate u'''返回在用户组总共几行''' def return_usergroup_all_line(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #总共几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") selemid = self.cnEn.cnCode(elemid) sapnid = "user_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icoyh_ico_docu": locate += 1 return locate + 1 u'''点击用户组添加用户按钮 parameter: - usergroup:传入要被操作的用户组名称 - deptname:传入要被操作的部门名称 ''' def click_usergroup_add_user(self, usergroup, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "user_group_", "_switch") #选中用户组 self.dptment.click_basic_operation_public_method(usergroup, "user_group_", "_span") self.getElem.find_element_wait_and_click_EC("id", "add_user") u'''点击用户组添加用户的检索按钮''' def click_usergroup_add_user_query(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "quick_user") u'''用户组页面填写用户名称或账号 parameter: - username:用户名称或账号 ''' def set_username(self, username): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_clear('id', "txtUserNameOrAccount") self.getElem.find_element_wait_and_sendkeys('id', "txtUserNameOrAccount", username) u'''点击用户组检索按钮''' def click_usergroup_query(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "query_user") u'''点击用户组删除用户按钮 parameter: - usergroup:传入要被操作的用户组名称 - username:用户名称 - deptname:传入要被操作的部门名称 ''' def click_usergroup_del_user(self, usergroup, username, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "user_group_", "_switch") #选中用户组 self.dptment.click_basic_operation_public_method(usergroup, "user_group_", "_span") #获取table对象 tableelem = self.getElem.find_element_with_wait_EC("id", "ta") #获取table对象下的所有tr trelems = tableelem.find_elements_by_tag_name("tr") #位于第几行 line = 0 #循环所有tr for trelem in trelems: line += 1 #找到tr下所有td对象 tds = trelem.find_elements_by_tag_name("td") #获取td[2]的文本 tdtext = tds[2].text if tdtext == username: xpath = "/html/body/div/div[2]/div[7]/div/table/tbody/tr[" + str(line) + "]/td[6]/input" self.getElem.find_element_wait_and_click_EC("xpath", xpath) break u'''点击用户组批量删除用户按钮 parameter: - usergroup:传入要被操作的用户组名称 - deptname:传入要被操作的部门名称 ''' def click_usergroup_bulk_user(self, usergroup, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method(deptname, "user_group_", "_switch") #选中用户组 self.dptment.click_basic_operation_public_method(usergroup, "user_group_", "_span") self.regroup.check_delect_all() self.getElem.find_element_wait_and_click_EC("id", "delete_all_user")
class Usergroup(object): def __init__(self, driver): self.driver = driver self.getElem = getElement(driver) self.frameElem = frameElement(driver) self.cnEn = cnEncode() self.dptment = Department(driver) self.regroup = Regroup(driver) u'''左边框点击用户组''' def click_left_usergroup(self): self.frameElem.from_frame_to_otherFrame("leftFrame") self.getElem.find_element_wait_and_click_EC("id", "url2") u'''点击用户组展开按钮''' def click_usergroup_switch(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "user_group_1_switch") u'''点击基本操作 parameter: - operation:代表基本操作0代表添加、1代表编辑、2代表上移、3代表下移、4代表删除 - deptname:传入要被操作的部门名称 - usergroup:传入要被操作的用户组名称 ''' def usergroup_click_basic_operation(self, operation, deptname='no', usergroup='no'): if deptname != 'no': self.dptment.click_basic_operation_public_method( deptname, "user_group_", "_switch") if operation == 0: self.dptment.click_basic_operation_public_method( deptname, "addBtn_user_group_") elif usergroup != 'no': if operation == 1: self.dptment.click_basic_operation_public_method( usergroup, "user_group_", "_edit") elif operation == 2: self.dptment.click_basic_operation_public_method( usergroup, "toUpBtn_user_group_") elif operation == 3: self.dptment.click_basic_operation_public_method( usergroup, "toDownBtn_user_group_") elif operation == 4: self.dptment.click_basic_operation_public_method( usergroup, "user_group_", "_remove") u'''点击上移、下移按钮校验 parameter: - operation:代表基本操作2代表上移、3代表下移 - deptname:传入要被操作的部门名称 - usergroup:传入要被操作的用户组名称 ''' def usergroup_click_up_down_check(self, operation, deptname='no', usergroup='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "user_group_", "_switch") #获取所有a标签对象 elems = self.driver.find_elements_by_tag_name("a") for elem in elems: elemtext = elem.get_attribute("title") elemid = elem.get_attribute("id") #判断传入要被操作的资源组和获取的文本是否相等 if usergroup == elemtext: self.getElem.find_element_wait_and_click("id", elemid) #点击上移按钮 if operation == 2: #移动次数 locates = range( self.usergroup_return_locate_line(usergroup)) self.dptment.move_down_check(elemid, locates, "toUpBtn_user_group_") #点击下移按钮 elif operation == 3: locates = range( self.return_usergroup_all_line() - self.usergroup_return_locate_line(usergroup)) self.dptment.move_down_check(elemid, locates, "toDownBtn_user_group_") break u'''返回在用户组树中位于第几行 parameter: - usergroup:传入要被操作的用户组 ''' def usergroup_return_locate_line(self, usergroup): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #位于第几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") elemtext = elem.get_attribute("title") selemid = self.cnEn.cnCode(elemid) sapnid = "user_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icoyh_ico_docu": locate += 1 if usergroup == elemtext: return locate u'''返回在用户组总共几行''' def return_usergroup_all_line(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #总共几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") selemid = self.cnEn.cnCode(elemid) sapnid = "user_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icoyh_ico_docu": locate += 1 return locate + 1 u'''点击用户组添加用户按钮 parameter: - usergroup:传入要被操作的用户组名称 - deptname:传入要被操作的部门名称 ''' def click_usergroup_add_user(self, usergroup, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "user_group_", "_switch") #选中用户组 self.dptment.click_basic_operation_public_method( usergroup, "user_group_", "_span") self.getElem.find_element_wait_and_click_EC("id", "add_user") u'''点击用户组添加用户的检索按钮''' def click_usergroup_add_user_query(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "quick_user") u'''用户组页面填写用户名称或账号 parameter: - username:用户名称或账号 ''' def set_username(self, username): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_clear('id', "txtUserNameOrAccount") self.getElem.find_element_wait_and_sendkeys('id', "txtUserNameOrAccount", username) u'''点击用户组检索按钮''' def click_usergroup_query(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "query_user") u'''点击用户组删除用户按钮 parameter: - usergroup:传入要被操作的用户组名称 - username:用户名称 - deptname:传入要被操作的部门名称 ''' def click_usergroup_del_user(self, usergroup, username, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "user_group_", "_switch") #选中用户组 self.dptment.click_basic_operation_public_method( usergroup, "user_group_", "_span") #获取table对象 tableelem = self.getElem.find_element_with_wait_EC("id", "ta") #获取table对象下的所有tr trelems = tableelem.find_elements_by_tag_name("tr") #位于第几行 line = 0 #循环所有tr for trelem in trelems: line += 1 #找到tr下所有td对象 tds = trelem.find_elements_by_tag_name("td") #获取td[2]的文本 tdtext = tds[2].text if tdtext == username: xpath = "/html/body/div/div[2]/div[7]/div/table/tbody/tr[" + str( line) + "]/td[6]/input" self.getElem.find_element_wait_and_click_EC("xpath", xpath) break u'''点击用户组批量删除用户按钮 parameter: - usergroup:传入要被操作的用户组名称 - deptname:传入要被操作的部门名称 ''' def click_usergroup_bulk_user(self, usergroup, deptname='no'): self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "user_group_", "_switch") #选中用户组 self.dptment.click_basic_operation_public_method( usergroup, "user_group_", "_span") self.regroup.check_delect_all() self.getElem.find_element_wait_and_click_EC("id", "delete_all_user")
class testDepartment(object): def __init__(self, driver): self.driver = driver self.log = log() self.cmf = commonFun(driver) self.frameElem = frameElement(driver) self.dptment = Department(driver) u'''获取测试数据 Parameters: - sheetname:sheet名称 return:表格数据 ''' def get_dptmtable_data(self, sheetname): dataFile = dataFileName() dptmPath = dataFile.get_depart_test_data_url() dptmData = dataFile.get_data(dptmPath, sheetname) return dptmData u'''添加和编辑部门''' def add_edit_department_001(self): #日志开始记录 self.log.log_start("add_edit_department") #获取添加部门测试数据 dptmData = self.get_dptmtable_data("add_edit_department") #保存成功的弹出框 dptmMsg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td[2]/div" self.dptment.click_left_department() #无检查点的测试项标识,如果为True说明通过 flag = False #页面弹出框的文本信息 pagetext = u"消息" #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) self.dptment.popup_sendkey(data[4]) self.dptment.click_ok_button() time.sleep(3) self.frameElem.switch_to_content() self.dptment.multil_div_check_point("xpath", dptmMsg, data, flag, pagetext) except Exception as e: print ("add_edit_department fail:" + str(e)) self.log.log_end("add_edit_department") u'''上移和下移部门''' def up_down_department_002(self): #日志开始记录 self.log.log_start("up_down_department") #获取上移部门测试数据 dptmData = self.get_dptmtable_data("up_down_department") self.dptment.click_left_department() #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) self.log.log_detail(data[0],True) except Exception as e: print ("up_down_department fail:" + str(e)) self.log.log_end("up_down_department") u'''上移和下移部门校验''' def up_down_department_check_003(self): #日志开始记录 self.log.log_start("up_down_department_check") dptmMsg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td[2]/div" #无检查点的测试项标识,如果为True说明通过 flag = False #获取上移部门测试数据 dptmData = self.get_dptmtable_data("up_down_department") self.dptment.click_left_department() self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_up_button(data[2], int(data[3])) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", dptmMsg, data, flag) except Exception as e: print ("up_down_department_check fail:" + str(e)) self.log.log_end("up_down_department_check") u'''删除部门''' def del_department_005(self): #日志开始记录 self.log.log_start("del_department") #删除的弹出框 dptmMsg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td[2]/div" #获取删除部门测试数据 dptmData = self.get_dptmtable_data("del_department") self.dptment.click_left_department() flag = False #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", dptmMsg, data, flag) self.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print ("del_department fail:" + str(e)) self.log.log_end("del_department") u'''检验添加和编辑部门''' def check_add_edit_department_004(self): #日志开始记录 self.log.log_start("check_add_edit_department") #获取检验添加部门测试数据 dptmData = self.get_dptmtable_data("check_add_edit_department") #保存成功的弹出框 dptmMsg = "html/body/div[1]/div/table/tbody/tr[2]/td[2]/div/table/tbody/tr[2]/td[2]/div" self.dptment.click_left_department() #无检查点的测试项标识,如果为True说明通过 flag = False #页面弹出框的文本信息 pagetext = u"警告" #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) if dataRow != 1 and dataRow != 6: self.dptment.popup_sendkey(data[4]) if dataRow == 6: self.dptment.clear_depart_text() self.dptment.click_ok_button() self.frameElem.switch_to_content() self.dptment.multil_div_check_point("xpath", dptmMsg, data, flag, pagetext) self.driver.implicitly_wait(1) self.frameElem.switch_to_content() self.dptment.click_cancel_button() except Exception as e: print ("check_add_edit_department fail:" + str(e)) self.log.log_end("check_add_edit_department")
class testDepartment(object): def __init__(self, driver): self.driver = driver self.log = log() self.role = Role(driver) self.testrole = testRole(driver) self.cmf = commonFun(driver) self.frameElem = frameElement(driver) self.dptment = Department(driver) u'''获取测试数据 Parameters: - sheetname:sheet名称 return:表格数据 ''' def get_dptmtable_data(self, sheetname): dataFile = dataFileName() dptmPath = dataFile.get_depart_test_data_url() dptmData = dataFile.get_data(dptmPath, sheetname) return dptmData u'''添加和编辑部门''' def add_edit_department_001(self): #日志开始记录 self.log.log_start("add_edit_department") #获取添加部门测试数据 dptmData = self.get_dptmtable_data("add_edit_department") #保存成功的弹出框 dptmMsg = self.testrole.popup() self.dptment.click_left_department() #无检查点的测试项标识,如果为True说明通过 flag = False #页面弹出框的文本信息 pagetext = u"消息" #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) self.dptment.popup_sendkey(data[4]) self.dptment.click_ok_button() time.sleep(3) self.frameElem.switch_to_content() self.dptment.multil_div_check_point("xpath", dptmMsg, data, flag, pagetext) except Exception as e: print ("add_edit_department fail:" + str(e)) self.log.log_end("add_edit_department") u'''上移和下移部门''' def up_down_department_002(self): #日志开始记录 self.log.log_start("up_down_department") #获取上移部门测试数据 dptmData = self.get_dptmtable_data("up_down_department") self.dptment.click_left_department() #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) self.log.log_detail(data[0],True) except Exception as e: print ("up_down_department fail:" + str(e)) self.log.log_end("up_down_department") u'''上移和下移部门校验''' def up_down_department_check_003(self): #日志开始记录 self.log.log_start("up_down_department_check") dptmMsg = self.testrole.popup() #无检查点的测试项标识,如果为True说明通过 flag = False #获取上移部门测试数据 dptmData = self.get_dptmtable_data("up_down_department") self.dptment.click_left_department() self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_up_button(data[2], int(data[3])) self.role.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", dptmMsg, data, flag) except Exception as e: print ("up_down_department_check fail:" + str(e)) self.log.log_end("up_down_department_check") u'''删除部门''' def del_department_005(self): #日志开始记录 self.log.log_start("del_department") #删除的弹出框 dptmMsg = self.testrole.popup() #获取删除部门测试数据 dptmData = self.get_dptmtable_data("del_department") self.dptment.click_left_department() flag = False #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) self.role.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", dptmMsg, data, flag) self.role.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print ("del_department fail:" + str(e)) self.log.log_end("del_department") u'''检验添加和编辑部门''' def check_add_edit_department_004(self): #日志开始记录 self.log.log_start("check_add_edit_department") #获取检验添加部门测试数据 dptmData = self.get_dptmtable_data("check_add_edit_department") #保存成功的弹出框 dptmMsg = self.testrole.popup() self.dptment.click_left_department() #无检查点的测试项标识,如果为True说明通过 flag = False #页面弹出框的文本信息 pagetext = u"警告" #点击展开按钮 self.dptment.click_dept_switch() for dataRow in range(len(dptmData)): data = dptmData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.dptment.click_basic_operation(data[2], int(data[3])) if dataRow != 1 and dataRow != 6: self.dptment.popup_sendkey(data[4]) if dataRow == 6: self.dptment.clear_depart_text() self.dptment.click_ok_button() self.frameElem.switch_to_content() self.dptment.multil_div_check_point("xpath", dptmMsg, data, flag, pagetext) self.driver.implicitly_wait(1) self.frameElem.switch_to_content() self.dptment.click_cancel_button() except Exception as e: print ("check_add_edit_department fail:" + str(e)) self.log.log_end("check_add_edit_department")
class Regroup(object): def __init__(self, driver): self.driver = driver self.getElem = getElement(driver) self.frameElem = frameElement(driver) self.cnEn = cnEncode() self.dptment = Department(driver) u'''左边框点击资源组''' def click_left_regroup(self): time.sleep(2) self.frameElem.from_frame_to_otherFrame("leftFrame") self.getElem.find_element_wait_and_click_EC("id", "url1") u'''点击资源组展开按钮''' def click_regroup_switch(self): time.sleep(2) self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "resource_group_1_switch") u'''点击基本操作 parameter: - operation:代表基本操作0代表添加、1代表编辑、2代表上移、3代表下移、4代表删除 - deptname:传入要被操作的部门名称 - regroup:传入要被操作的资源组名称 ''' def regroup_click_basic_operation(self, operation, deptname='no', regroup='no'): time.sleep(2) if deptname != 'no': self.dptment.click_basic_operation_public_method( deptname, "resource_group_", "_switch") if operation == 0: self.dptment.click_basic_operation_public_method( deptname, "addBtn_resource_group_") elif regroup != 'no': if operation == 1: self.dptment.click_basic_operation_public_method( regroup, "resource_group_", "_edit") elif operation == 2: self.dptment.click_basic_operation_public_method( regroup, "toUpBtn_resource_group_") elif operation == 3: self.dptment.click_basic_operation_public_method( regroup, "toDownBtn_resource_group_") elif operation == 4: self.dptment.click_basic_operation_public_method( regroup, "resource_group_", "_remove") u'''点击上移、下移按钮校验 parameter: - operation:代表基本操作2代表上移、3代表下移 - deptname:传入要被操作的部门名称 - regroup:传入要被操作的资源组名称 ''' def regroup_click_up_down_check(self, operation, deptname='no', regroup='no'): if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "resource_group_", "_switch") self.frameElem.from_frame_to_otherFrame("rigthFrame") #获取所有a标签对象 elems = self.driver.find_elements_by_tag_name("a") for elem in elems: elemtext = elem.get_attribute("title") elemid = elem.get_attribute("id") #判断传入要被操作的资源组和获取的文本是否相等 if regroup == elemtext: self.getElem.find_element_wait_and_click("id", elemid) #点击上移按钮 if operation == 2: #移动次数 locates = range(self.regroup_return_locate_line(regroup)) self.dptment.move_down_check(elemid, locates, "toUpBtn_resource_group_") #点击下移按钮 elif operation == 3: locates = range(self.return_regroup_all_line() - self.regroup_return_locate_line(regroup)) self.dptment.move_down_check(elemid, locates, "toDownBtn_resource_group_") break u'''返回在资源组树中位于第几行 parameter: - regroup:传入要被操作的资源组 ''' def regroup_return_locate_line(self, regroup): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #位于第几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") elemtext = elem.get_attribute("title") selemid = self.cnEn.cnCode(elemid) sapnid = "resource_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icozy_ico_docu": locate += 1 if regroup == elemtext: return locate u'''返回在资源组总共几行''' def return_regroup_all_line(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") elems = self.driver.find_elements_by_tag_name("a") #总共几行 locate = 0 for elem in elems: elemid = elem.get_attribute("id") selemid = self.cnEn.cnCode(elemid) sapnid = "resource_group_" + filter(str.isdigit, selemid) + "_ico" spanelem = self.getElem.find_element_with_wait_EC("id", sapnid) spanclass = spanelem.get_attribute("class") if spanclass == "button icozy_ico_docu": locate += 1 return locate + 1 u'''点击资源组添加资源按钮 parameter: - regroup:传入要被操作的资源组名称 - deptname:传入要被操作的部门名称 ''' def click_regroup_add_resouce(self, regroup, deptname='no'): time.sleep(2) self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "resource_group_", "_switch") #选中资源组 self.dptment.click_basic_operation_public_method( regroup, "resource_group_", "_span") self.getElem.find_element_wait_and_click_EC("id", "add_Resource") u'''点击资源组批量删除资源按钮 parameter: - regroup:传入要被操作的资源组名称 - deptname:传入要被操作的部门名称 ''' def click_regroup_bulk_resouce(self, regroup, deptname='no'): time.sleep(2) self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "resource_group_", "_switch") #选中资源组 self.dptment.click_basic_operation_public_method( regroup, "resource_group_", "_span") self.check_delect_all() self.getElem.find_element_wait_and_click_EC("id", "delete_Resource") u'''点击资源组删除资源按钮 parameter: - regroup:传入要被操作的资源组名称 - rename:资源名称 - deptname:传入要被操作的部门名称 ''' def click_regroup_del_resouce(self, regroup, rename, deptname='no'): time.sleep(2) self.frameElem.from_frame_to_otherFrame("rigthFrame") if deptname != 'no': #点击要操作部门的展开按钮 self.dptment.click_basic_operation_public_method( deptname, "resource_group_", "_switch") #选中资源组 self.dptment.click_basic_operation_public_method( regroup, "resource_group_", "_span") #获取table对象 tableelem = self.getElem.find_element_with_wait_EC("id", "ta") #获取table对象下的所有tr trelems = tableelem.find_elements_by_tag_name("tr") #位于第几行 line = 0 #循环所有tr for trelem in trelems: line += 1 #找到tr下所有td对象 tds = trelem.find_elements_by_tag_name("td") #获取td[2]的文本 tdtext = tds[2].text if tdtext == rename: xpath = "/html/body/div/div[2]/div[7]/div/table/tbody/tr[" + str( line) + "]/td[6]/input" time.sleep(2) self.getElem.find_element_wait_and_click_EC("xpath", xpath) break u'''勾选资源组全选删除框''' def check_delect_all(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "delect_all") u'''点击资源组检索按钮''' def click_regroup_query(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "query_Resource") u'''点击资源组重置按钮''' def click_regroup_reset(self): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_click_EC("id", "resetting") u'''资源组页面填写资源名称或IP parameter: - renameorip:资源名称或IP ''' def set_rename_ip(self, renameorip): self.frameElem.from_frame_to_otherFrame("rigthFrame") self.getElem.find_element_wait_and_clear('id', "txtfortResourceAccountOrIp") self.getElem.find_element_wait_and_sendkeys( 'id', "txtfortResourceAccountOrIp", renameorip) u'''点击资源组添加资源的检索按钮''' def click_regroup_add_resouce_query(self): time.sleep(2) self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "quick_Resource") u'''点击资源组添加资源的重置按钮''' def click_regroup_add_resouce_reset(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "resetting") u'''添加资源页面填写资源名称 parameter: - rename:资源名称 ''' def set_rename(self, rename): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_clear('id', "fort_resource_name") self.getElem.find_element_wait_and_sendkeys('id', "fort_resource_name", rename) u'''添加资源页面填写资源ip parameter: - ipdress:资源ip ''' def set_ip(self, ipdress): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_clear('id', "fort_resource_ip") self.getElem.find_element_wait_and_sendkeys('id', "fort_resource_ip", ipdress) u'''点击资源部门展开按钮''' def click_resource_depart_switch(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "user_tree_1_switch") u'''勾选部门框 parameter: - deptname:传入要被勾选的部门名称 ''' def check_depart(self, deptname): self.click_resource_depart_switch() time.sleep(2) self.frameElem.from_frame_to_otherFrame("artIframe") self.click_public_method(deptname, "user_tree_", "_check") u'''勾选资源框或者部门框 parameter: - rename:资源名称或者部门名称 ''' def check_one_resource(self, rename): self.frameElem.from_frame_to_otherFrame("artIframe") #获取table对象 tableelem = self.getElem.find_element_with_wait_EC("id", "user_table") #获取table对象下的所有tr trelems = tableelem.find_elements_by_tag_name("tr") #位于第几行 line = 0 #循环所有tr for trelem in trelems: line += 1 #找到tr下所有td对象 tds = trelem.find_elements_by_tag_name("td") #获取td[2]的文本 tdtext = tds[1].text if tdtext == rename: xpath = "/html/body/div[3]/div[2]/table/tbody/tr[" + str( line) + "]/td[1]/li/input" self.getElem.find_element_wait_and_click_EC("xpath", xpath) break u'''勾选全部资源框或者部门框''' def check_all_resource(self): self.frameElem.from_frame_to_otherFrame("artIframe") self.getElem.find_element_wait_and_click_EC("id", "user_check_all") u'''点击资源确定按钮''' def click_resource_okbutton(self): self.frameElem.switch_to_content() self.getElem.find_element_wait_and_click_EC("id", "okButton") u'''点击公共方法 parameter: - name:传入要被操作的名称 - first:id的前半段字符 - end:id的后半段字符,可以不进行填写 ''' def click_public_method(self, name, first, end='no'): self.frameElem.from_frame_to_otherFrame("artIframe") #获取所有a标签的对象 elems = self.driver.find_elements_by_tag_name("a") for elem in elems: elemtext = elem.get_attribute("title") elemid = elem.get_attribute("id") selemid = self.cnEn.cnCode(elemid) if name == elemtext: self.getElem.find_element_wait_and_click("id", elemid) if end != 'no': buttonid = first + filter(str.isdigit, selemid) + end else: buttonid = first + filter(str.isdigit, selemid) self.getElem.find_element_wait_and_click("id", buttonid) break
class testRegroup(object): def __init__(self, driver): self.driver = driver self.log = log() self.testrole = testRole(driver) self.cmf = commonFun(driver) self.frameElem = frameElement(driver) self.regroup = Regroup(driver) self.dptment = Department(driver) u'''获取测试数据 Parameters: - sheetname:sheet名称 return:表格数据 ''' def get_regroup_data(self, sheetname): dataFile = dataFileName() regrPath = dataFile.get_regroup_test_data_url() regrData = dataFile.get_data(regrPath, sheetname) return regrData u'''添加和编辑资源组''' def add_edit_regroup_001(self): #日志开始记录 self.log.log_start("add_edit_regroup") #获取添加资源组测试数据 regrData = self.get_regroup_data("add_edit_regroup") #保存成功的弹出框 regrMsg = self.testrole.popup() self.regroup.click_left_regroup() #无检查点的测试项标识,如果为True说明通过 flag = False #页面弹出框的文本信息 pagetext = u"消息" #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.regroup_click_basic_operation( int(data[4]), data[2], data[3]) self.dptment.popup_sendkey(data[5]) self.dptment.click_ok_button() time.sleep(3) self.frameElem.switch_to_content() self.dptment.multil_div_check_point( "xpath", regrMsg, data, flag, pagetext) except Exception as e: print("add_edit_regroup fail:" + str(e)) self.log.log_end("add_edit_regroup") u'''上移和下移资源组''' def up_down_regroup_002(self): #日志开始记录 self.log.log_start("up_down_regroup") #获取上移资源组测试数据 regrData = self.get_regroup_data("up_down_regroup") self.regroup.click_left_regroup() #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.regroup_click_basic_operation( int(data[4]), data[2], data[3]) self.log.log_detail(data[0], True) except Exception as e: print("up_down_regroup fail:" + str(e)) self.log.log_end("up_down_regroup") u'''上移和下移资源组校验''' def up_down_regroup_check_003(self): #日志开始记录 self.log.log_start("up_down_regroup_check") #无检查点的测试项标识,如果为True说明通过 flag = False #获取上移资源组测试数据 regrData = self.get_regroup_data("up_down_regroup") #保存成功的弹出框 regrMsg = self.testrole.popup() self.regroup.click_left_regroup() #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.regroup_click_up_down_check( int(data[4]), data[2], data[3]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", regrMsg, data, flag) except Exception as e: print("up_down_regroup_check fail:" + str(e)) self.log.log_end("up_down_regroup_check") u'''检验添加和编辑资源组''' def check_add_edit_regroup_004(self): #日志开始记录 self.log.log_start("check_add_edit_regroup") #获取检验添加资源组测试数据 regrData = self.get_regroup_data("check_add_edit_regroup") #保存成功的弹出框 regrMsg = self.testrole.popup() #页面弹出框的文本信息 pagetext = u"警告" self.regroup.click_left_regroup() #无检查点的测试项标识,如果为True说明通过 flag = False #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.regroup_click_basic_operation( int(data[4]), data[2], data[3]) if dataRow != 1 and dataRow != 2: self.dptment.popup_sendkey(data[5]) if dataRow == 2: self.dptment.clear_depart_text() self.dptment.click_ok_button() self.frameElem.switch_to_content() self.dptment.multil_div_check_point( "xpath", regrMsg, data, flag, pagetext) self.driver.implicitly_wait(20) self.frameElem.switch_to_content() self.dptment.click_cancel_button() except Exception as e: print("check_add_edit_regroup fail:" + str(e)) self.log.log_end("check_add_edit_regroup") u'''删除资源组''' def del_regroup_005(self): #日志开始记录 self.log.log_start("del_regroup") #删除的弹出框 regrMsg = self.testrole.popup() #获取删除资源组测试数据 regrData = self.get_regroup_data("del_regroup") self.regroup.click_left_regroup() flag = False #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.regroup_click_basic_operation( int(data[4]), data[2], data[3]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", regrMsg, data, flag) self.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print("del_regroup fail:" + str(e)) self.log.log_end("del_regroup") u'''资源组中添加资源''' def regroup_add_resource_001(self): #日志开始记录 self.log.log_start("regroup_add_resource") #获取添加资源组测试数据 regrData = self.get_regroup_data("regroup_add_resource") #保存成功的弹出框 regrMsg = self.testrole.popup() self.regroup.click_left_regroup() #无检查点的测试项标识,如果为True说明通过 flag = False #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.click_regroup_add_resouce(data[3], data[2]) self.regroup.check_depart(data[4]) self.regroup.click_regroup_add_resouce_query() self.regroup.check_all_resource() self.regroup.click_resource_okbutton() self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", regrMsg, data, flag) except Exception as e: print("regroup_add_resource fail:" + str(e)) self.log.log_end("regroup_add_resource") u'''资源组中查询资源名称和IP''' def query_regroup_002(self): #日志开始记录 self.log.log_start("query_regroup") self.regroup.click_left_regroup() #点击展开按钮 self.regroup.click_regroup_switch() #获取查询资源组测试数据 regrData = self.get_regroup_data("query_regroup") for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: if dataRow == 1: #选中资源组 self.dptment.click_basic_operation_public_method( data[2], "resource_group_", "_span") self.regroup.click_regroup_reset() else: self.regroup.set_rename_ip(data[3]) self.regroup.click_regroup_query() self.regroup.click_regroup_reset() self.log.log_detail(data[0], True) except Exception as e: print("query_regroup fail:" + str(e)) self.log.log_end("query_regroup") u'''资源组删除资源''' def regroup_del_resouce_003(self): #日志开始记录 self.log.log_start("regroup_del_resouce") #删除的弹出框 regrMsg = self.testrole.popup() #获取删除资源组测试数据 regrData = self.get_regroup_data("regroup_del_resouce") self.regroup.click_left_regroup() flag = False #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.click_regroup_del_resouce(data[3], data[4]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", regrMsg, data, flag) self.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print("regroup_del_resouce fail:" + str(e)) self.log.log_end("regroup_del_resouce") u'''资源组全选删除资源''' def regroup_bulk_resouce_004(self): #日志开始记录 self.log.log_start("regroup_bulk_resouce") #删除的弹出框 regrMsg = self.testrole.popup() #获取删除资源组测试数据 regrData = self.get_regroup_data("regroup_bulk_resouce") self.regroup.click_left_regroup() flag = False #点击展开按钮 self.regroup.click_regroup_switch() for dataRow in range(len(regrData)): data = regrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.regroup.click_regroup_bulk_resouce(data[3]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", regrMsg, data, flag) self.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print("regroup_bulk_resouce fail:" + str(e)) self.log.log_end("regroup_bulk_resouce")
class testUsergroup(object): def __init__(self, driver): self.driver = driver self.log = log() self.testrole = testRole(driver) self.cmf = commonFun(driver) self.frameElem = frameElement(driver) self.regroup = Regroup(driver) self.dptment = Department(driver) self.usergroup = Usergroup(driver) u'''获取测试数据 Parameters: - sheetname:sheet名称 return:表格数据 ''' def get_usergroup_data(self, sheetname): dataFile = dataFileName() usergrPath = dataFile.get_usergroup_test_data_url() usergrData = dataFile.get_data(usergrPath, sheetname) return usergrData u'''添加和编辑用户组''' def add_edit_usergroup_001(self): #日志开始记录 self.log.log_start("add_edit_usergroup") #获取添加用户组测试数据 usergrData = self.get_usergroup_data("add_edit_usergroup") #保存成功的弹出框 usergrMsg = self.testrole.popup() self.usergroup.click_left_usergroup() #无检查点的测试项标识,如果为True说明通过 flag = False #页面弹出框的文本信息 pagetext = u"消息" #点击展开按钮 self.usergroup.click_usergroup_switch() for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.usergroup.usergroup_click_basic_operation(int(data[4]), data[2], data[3]) self.dptment.popup_sendkey(data[5]) self.dptment.click_ok_button() time.sleep(3) self.frameElem.switch_to_content() self.dptment.multil_div_check_point("xpath", usergrMsg, data, flag, pagetext) except Exception as e: print ("add_edit_usergroup fail:" + str(e)) self.log.log_end("add_edit_usergroup") u'''上移和下移用户组''' def up_down_usergroup_002(self): #日志开始记录 self.log.log_start("up_down_usergroup") #获取上移用户组测试数据 usergrData = self.get_usergroup_data("up_down_usergroup") self.usergroup.click_left_usergroup() #点击展开按钮 self.usergroup.click_usergroup_switch() for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.usergroup.usergroup_click_basic_operation(int(data[4]), data[2], data[3]) self.log.log_detail(data[0], True) except Exception as e: print ("up_down_usergroup fail:" + str(e)) self.log.log_end("up_down_usergroup") u'''上移和下移用户组校验''' def up_down_usergroup_check_003(self): #日志开始记录 self.log.log_start("up_down_usergroup_check") #无检查点的测试项标识,如果为True说明通过 flag = False #获取上移用户组测试数据 usergrData = self.get_usergroup_data("up_down_usergroup") #保存成功的弹出框 usergrMsg = self.testrole.popup() self.usergroup.click_left_usergroup() #点击展开按钮 self.usergroup.click_usergroup_switch() for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.usergroup.usergroup_click_up_down_check(int(data[4]), data[2], data[3]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", usergrMsg, data, flag) except Exception as e: print ("up_down_usergroup_check fail:" + str(e)) self.log.log_end("up_down_usergroup_check") u'''检验添加和编辑用户组''' def check_add_edit_usergroup_004(self): #日志开始记录 self.log.log_start("check_add_edit_usergroup") #获取检验添加用户组测试数据 usergrData = self.get_usergroup_data("check_add_edit_usergroup") #保存成功的弹出框 usergrMsg = self.testrole.popup() #页面弹出框的文本信息 pagetext = u"警告" self.usergroup.click_left_usergroup() #无检查点的测试项标识,如果为True说明通过 flag = False #点击展开按钮 self.usergroup.click_usergroup_switch() for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.usergroup.usergroup_click_basic_operation(int(data[4]), data[2], data[3]) if dataRow != 1 and dataRow != 2: self.dptment.popup_sendkey(data[5]) if dataRow == 2: self.dptment.clear_depart_text() self.dptment.click_ok_button() self.frameElem.switch_to_content() self.dptment.multil_div_check_point("xpath", usergrMsg, data, flag, pagetext) self.driver.implicitly_wait(20) self.frameElem.switch_to_content() self.dptment.click_cancel_button() except Exception as e: print ("check_add_edit_usergroup fail:" + str(e)) self.log.log_end("check_add_edit_usergroup") u'''删除用户组''' def del_usergroup_005(self): #日志开始记录 self.log.log_start("del_usergroup") #删除的弹出框 usergrMsg = self.testrole.popup() #获取删除用户组测试数据 usergrData = self.get_usergroup_data("del_usergroup") self.usergroup.click_left_usergroup() #无检查点的测试项标识,如果为True说明通过 flag = False #点击展开按钮 self.usergroup.click_usergroup_switch() for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.usergroup.usergroup_click_basic_operation(int(data[4]), data[2], data[3]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", usergrMsg, data, flag) self.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print ("del_usergroup fail:" + str(e)) self.log.log_end("del_usergroup") u'''用户组中添加用户''' def usergroup_add_user_001(self): #日志开始记录 self.log.log_start("usergroup_add_user") #获取添加用户组测试数据 usergrData = self.get_usergroup_data("usergroup_add_user") #保存成功的弹出框 usergrMsg = self.testrole.popup() self.usergroup.click_left_usergroup() #无检查点的测试项标识,如果为True说明通过 flag = False #点击展开按钮 self.usergroup.click_usergroup_switch() for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: time.sleep(3) self.usergroup.click_usergroup_add_user(data[3], data[2]) self.regroup.check_depart(data[4]) self.usergroup.click_usergroup_add_user_query() self.regroup.check_all_resource() self.regroup.click_resource_okbutton() self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", usergrMsg, data, flag) except Exception as e: print ("usergroup_add_user fail:" + str(e)) self.log.log_end("usergroup_add_user") u'''用户组中查询用户账号/名称''' def query_usergroup_002(self): #日志开始记录 self.log.log_start("query_usergroup") self.usergroup.click_left_usergroup() #点击展开按钮 self.usergroup.click_usergroup_switch() #获取查询用户组测试数据 usergrData = self.get_usergroup_data("query_usergroup") for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: if dataRow == 1: #选中用户组 self.dptment.click_basic_operation_public_method(data[2], "user_group_", "_span") self.regroup.click_regroup_reset() else: self.usergroup.set_username(data[3]) self.usergroup.click_usergroup_query() self.regroup.click_regroup_reset() self.log.log_detail(data[0], True) except Exception as e: print ("query_usergroup fail:" + str(e)) self.log.log_end("query_usergroup") u'''用户组删除用户''' def usergroup_del_user_003(self): #日志开始记录 self.log.log_start("usergroup_del_user") #删除的弹出框 usergrMsg = self.testrole.popup() #获取删除用户组测试数据 usergrData = self.get_usergroup_data("usergroup_del_user") self.usergroup.click_left_usergroup() #点击展开按钮 self.usergroup.click_usergroup_switch() flag = False for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.usergroup.click_usergroup_del_user(data[3], data[4]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", usergrMsg, data, flag) self.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print ("usergroup_del_user fail:" + str(e)) self.log.log_end("usergroup_del_user") u'''用户组全选删除用户''' def usergroup_bulk_user_004(self): #日志开始记录 self.log.log_start("usergroup_bulk_user") #删除的弹出框 usergrMsg = self.testrole.popup() #获取删除用户组测试数据 usergrData = self.get_usergroup_data("usergroup_bulk_user") self.usergroup.click_left_usergroup() #点击展开按钮 self.usergroup.click_usergroup_switch() flag = False for dataRow in range(len(usergrData)): data = usergrData[dataRow] try: #如果不是第一行标题,则读取数据 if dataRow != 0: self.usergroup.click_usergroup_bulk_user(data[3]) self.frameElem.switch_to_content() self.cmf.test_win_check_point("xpath", usergrMsg, data, flag) self.frameElem.switch_to_content() self.cmf.click_msg_button(1) except Exception as e: print ("usergroup_bulk_user fail:" + str(e)) self.log.log_end("usergroup_bulk_user")