class UPNPpage(BasePage): portMappingM = getMenu('portMappingM') UPnPm = getMenu('UPnPm') NetworkConfig = (By.XPATH, '//span[@data-local="{netConfig}"]') #网络配置菜单 portMapping = (By.LINK_TEXT, portMappingM) #端口映射菜单 UPnP = (By.LINK_TEXT, UPnPm) #UPnP菜单 checkOnc = (By.ID, 'checkOn') checkOn = ('checkOn') refreshTable = (By.ID, 'refreshTable') list_tips1 = ('//*[@id="4"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') def click_NetworkConfig(self): self.find_element(*self.NetworkConfig).click() logger.info('点击网络配置') def click_portMapping(self): self.find_element(*self.portMapping).click() logger.info('点击端口映射') def click_UPnP(self): self.find_element(*self.UPnP).click() logger.info('点击UPnP') def click_checkOnc(self): self.find_element(*self.checkOnc).click() def click_refreshTable(self): self.find_element(*self.refreshTable).click()
class CloudServePage(BasePage): CloudServeM = getMenu('CloudServeM') bindingM = getMenu('bindingM') #云页面几个超链接 registerM = getMenu('registerM') loginM = getMenu('loginM') helpM = getMenu('helpM') sysConfig = (By.XPATH, '//span[@data-local="{sysConfig}"]') #系统配置菜单 CloudServe = (By.LINK_TEXT, CloudServeM) # 云服务 菜单 cloudEn = (By.XPATH, '//input[@name="cloudEn"and@value="on"]') cloudEns = ('//input[@name="cloudEn"and@value="on"]') cloudC = (By.XPATH, '//input[@name="cloudEn"and@value="off"]') cloudCs = ('//input[@name="cloudEn"and@value="off"]') webSN = ('//*[@id="2"]/table/tbody/tr[2]/td[2]/span') code = ('//*[@id="2"]/table/tbody/tr[3]/td[2]') #激活码 save = (By.ID, 'save') binding = (By.LINK_TEXT, 'bindingM') register = (By.LINK_TEXT, 'registerM') login = (By.LINK_TEXT, 'loginM ') help = (By.LINK_TEXT, 'helpM') def click_sysConfig(self): self.find_element(*self.sysConfig).click() logger.info('点击系统配置') def click_CloudServe(self): self.find_element(*self.CloudServe).click() logger.info('点击云服务菜单') def click_cloudEn(self): self.find_element(*self.cloudEn).click() def click_cloudC(self): self.find_element(*self.cloudC).click() def click_save(self): self.find_element(*self.save).click() def click_binding(self): self.find_element(*self.binding).click() def click_register(self): self.find_element(*self.register).click() def click_login(self): self.find_element(*self.login).click() def find_help(self): self.exist_element(*self.help).click()
class flowWatchpage(BasePage): flowWatchM = getMenu('flowWatchM') systemWatch = (By.XPATH, '//span[@data-local="{systemWatch}"]') #系统监控 flowWatch = (By.LINK_TEXT,flowWatchM) #流量监控 checkOpen = (By.ID,'checkOpen') checkOpens = ('checkOpen') export = (By.ID,'export') selrefresh = ('//*[@id="btns"]/ul/li[1]/select') list_apply1 = ('//*[@id="table"]/div/div[1]/table/tbody/tr[1]/td[2]/span') list_apply2 = ('//*[@id="table"]/div/div[1]/table/tbody/tr[2]/td[2]/span') list_apply3 = ('//*[@id="table"]/div/div[1]/table/tbody/tr[3]/td[2]/span') list_apply4 = ('//*[@id="table"]/div/div[1]/table/tbody/tr[4]/td[2]/span') list_apply5 = ('//*[@id="table"]/div/div[1]/table/tbody/tr[5]/td[2]/span') fresh = (By.ID,'fresh') def click_systemWatch(self): self.find_element(*self.systemWatch).click() logger.info('点击系统监控') def click_flowWatch(self): self.find_element(*self.flowWatch).click() logger.info('点击流量监控') def click_checkOpen(self): self.find_element(*self.checkOpen).click() def click_export(self): self.find_element(*self.export).click() def click_fresh(self): self.find_element(*self.fresh).click()
class timePlanPage(BasePage): timePlanM = getMenu('timePlanM') sysObj = (By.XPATH, '//span[@data-local="{sysObj}"]') #系统对象菜单 timePlan = (By.LINK_TEXT, timePlanM) # 时间计划菜单 add = (By.ID, 'add') TimeRangeName = (By.NAME, 'TimeRangeName') save = (By.ID, 'save') listName = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') delete = (By.XPATH, '//*[@data-primarykey="0"and@event-type="delete"]') ok = (By.ID, 'u-cfm-ok') listnodata = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td/div') selall = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/thead/tr/th[1]/input') delall = (By.ID, 'delete') tipsshowin = (By.CLASS_NAME, 'tips-show-in') list_name5 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[2]/span') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 界面页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 跳转最后页 def click_sysObj(self): self.find_element(*self.sysObj).click() logger.info('点击系统对象') def click_timePlan(self): self.find_element(*self.timePlan).click() logger.info('点击时间计划') def click_add(self): self.find_element(*self.add).click() def input_TimeRangeName(self, TimeRangeName): self.find_element(*self.TimeRangeName).clear() self.find_element(*self.TimeRangeName).send_keys(TimeRangeName) def click_save(self): self.find_element(*self.save).click() def click_delete(self): self.find_element(*self.delete).click() def click_ok(self): self.find_element(*self.ok).click() def click_selall(self): self.find_element(*self.selall).click() def click_delall(self): self.find_element(*self.delall).click() def find_ok(self): self.exist_element(*self.ok).click() def find_tipsshowin(self): self.exist_element(*self.tipsshowin) def click_pageend1(self): self.find_element(*self.pageend1).click()
class sysTimePage(BasePage): SystemTimeM = getMenu('SystemTimeM') sysConfig = (By.XPATH, '//span[@data-local="{sysConfig}"]') #系统配置菜单 SystemTime = (By.LINK_TEXT, SystemTimeM) # 时钟管理菜单 SntpEns = ('//input[@name="SntpEnable"and@value="on"]') withInternet1 = ('//*[@id="1"]/table/tbody/tr[3]/td[2]/span[2]') #网络时间同步 dates = ('dates') NTPServerIP = (By.NAME, 'NTPServerIP') save = (By.ID, 'save') def click_sysConfig(self): self.find_element(*self.sysConfig).click() logger.info('点击系统配置') def click_SystemTime(self): self.find_element(*self.SystemTime).click() logger.info('点击时钟管理菜单') def input_NTPServerIP(self, NTPServerIP): self.find_element(*self.NTPServerIP).clear() self.find_element(*self.NTPServerIP).send_keys(NTPServerIP) def click_save(self): self.find_element(*self.save).click()
class AttackPreventionPage(BasePage): AttackPreventionM = getMenu('AttackPreventionM') FireWall = (By.XPATH, '//span[@data-local="{fireWall}"]') #防火墙菜单 AttackPrevention = (By.LINK_TEXT, AttackPreventionM) # 攻击防护菜单 # ARP欺骗主动防御 ArpBroadcastIntervalVal = ('ArpBroadcastIntervalVal') ArpBroadcastIntervalVals = ('ArpBroadcastEnable') ArpBroadcastIntervalValEn = (By.NAME, 'ArpBroadcastEnable') # FLOOD攻击防御 UDP UDPFlood = ('max_udp_rxpps') UDPFloods = ('UDPFlood') UDPFloodEn = (By.NAME, 'UDPFlood') # FLOOD攻击防御 ICMP ICMPFlood = ('max_icmp_rxpps') ICMPFloods = ('ICMPFlood') ICMPFloodEn = (By.NAME, 'ICMPFlood') # FLOOD攻击防御 SYN SYNFlood = ('max_syn_rxpps') SYNFloods = ('max_syn_rxpps') SYNFloodEn = (By.NAME, 'SYNFlood') # IP欺骗防御 IPCheats = ('IPCheat') IPCheateEn = (By.NAME, 'IPCheat') # DDoS攻击防御 DDOSEnables = ('DDOSEnable') DDOSEnableEn = (By.NAME, 'DDOSEnable') # 外网PING防御 PingDisables = ('PingDisable') PingDisableEn = (By.NAME, 'PingDisable') def click_FireWall(self): self.find_element(*self.FireWall).click() logger.info('点击防火墙') def click_AttackPrevention(self): self.find_element(*self.AttackPrevention).click() logger.info('点击攻击防护菜单') def click_ArpBroadcastIntervalValEn(self): self.find_element(*self.ArpBroadcastIntervalValEn).click() def click_UDPFloodEn(self): self.find_element(*self.UDPFloodEn).click() def click_ICMPFloodEn(self): self.find_element(*self.ICMPFloodEn).click() def click_SYNFloodEn(self): self.find_element(*self.SYNFloodEn).click() def click_IPCheateEn(self): self.find_element(*self.IPCheateEn).click() def click_DDOSEnableEn(self): self.find_element(*self.DDOSEnableEn).click() def click_PingDisableEn(self): self.find_element(*self.PingDisableEn).click()
class loadBalancingPage(BasePage): loadBalancingM = getMenu('loadBalancingM') #负载均衡 wirelessExtension = (By.XPATH, '//span[@data-local="{wirelessExtension}"]') loadBalancing = (By.LINK_TEXT, loadBalancingM) add = (By.ID, 'addModal') loadBalanceNames = (By.NAME, 'loadBalanceNames') selAP1 = (By.XPATH, '//*[@id="left_AP"]/option[1]') toright = (By.ID, 'toright') save = (By.ID, 'save') list_state = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') checkOpen = (By.ID, 'checkOpen') checkOpens = ('checkOpen') list_del1 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[6]/span[2]') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 组1页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 跳转最后页 def click_wirelessExtension(self): self.find_element(*self.wirelessExtension).click() logger.info('点击无线扩展') def click_loadBalancing(self): self.find_element(*self.loadBalancing).click() logger.info('点击负载均衡') def click_add(self): self.find_element(*self.add).click() def input_loadBalanceNames(self, loadBalanceNames): self.find_element(*self.loadBalanceNames).clear() self.find_element(*self.loadBalanceNames).send_keys(loadBalanceNames) def click_selAP1(self): self.find_element(*self.selAP1).click() def click_selAP2(self): self.find_element(*self.selAP2).click() def click_selAP3(self): self.find_element(*self.selAP3).click() def click_selAP4(self): self.find_element(*self.selAP4).click() def click_toright(self): self.find_element(*self.toright).click() def click_save(self): self.find_element(*self.save).click() def click_checkOpen(self): self.find_element(*self.checkOpen).click() def click_list_del1(self): self.find_element(*self.list_del1).click() def click_pageend1(self): self.find_element(*self.pageend1).click()
class AddressGroupPage(BasePage): AddressGroupM = getMenu('AddressGroupM') sysObj = (By.XPATH, '//span[@data-local="{sysObj}"]') #系统对象菜单 AddressGroup = (By.LINK_TEXT, AddressGroupM) # 地址组菜单 add = (By.ID, 'add') name = (By.NAME, 'name') addressTypeold = (By.XPATH, '//input[@name="addressType"and@value="old"]') btn_tor = (By.ID, 'btn_tor') btn_tol = (By.ID, 'btn_tol') btn_delet = (By.ID, 'btn_delet') addressTypenew = (By.XPATH, '//input[@name="addressType"and@value="new"]') startAddress = (By.NAME, 'startAddress') endAddress = (By.NAME, 'endAddress') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 界面页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 跳转最后页 def click_sysObj(self): self.find_element(*self.sysObj).click() logger.info('点击系统对象菜单') def click_AddressGroup(self): self.find_element(*self.AddressGroup).click() logger.info('点击地址组菜单') def click_add(self): self.find_element(*self.add).click() def input_name(self, name): self.find_element(*self.name).clear() self.find_element(*self.name).send_keys(name) def click_addressTypeold(self): self.find_element(*self.addressTypeold).click() def click_btn_tor(self): self.find_element(*self.btn_tor).click() def click_btn_tol(self): self.find_element(*self.btn_tol).click() def click_btn_delet(self): self.find_element(*self.btn_delet).click() def click_addressTypenew(self): self.find_element(*self.addressTypenew).click() def input_startAddress(self, startAddress): self.find_element(*self.startAddress).click() self.find_element(*self.startAddress).send_keys(startAddress) def input_endAddress(self, endAddress): self.find_element(*self.endAddress).click() self.find_element(*self.endAddress).send_keys(endAddress) def click_pageend1(self): self.find_element(*self.pageend1).click()
class DMZPage(BasePage): portMappingM = getMenu('portMappingM') DMZm = getMenu('DMZm') NetworkConfig = (By.XPATH, '//span[@data-local="{netConfig}"]') #网络配置菜单 portMapping = (By.LINK_TEXT, portMappingM) # 端口映射菜单 DMZ = (By.LINK_TEXT, DMZm) #DMZ菜单 DMZEn = (By.XPATH, '//input[@name="DMZEnable"and@value="on"]') DMZEs = ('//input[@name="DMZEnable"and@value="on"]') GlobalDMZ = (By.NAME, 'GlobalDMZ') WAN1DMZ = (By.NAME, 'WAN1DMZ') save = (By.ID, 'save') DMZC = (By.XPATH, '//input[@name="DMZEnable"and@value="off"]') DMZCs = ('//input[@name="DMZEnable"and@value="off"]') def click_NetworkConfig(self): self.find_element(*self.NetworkConfig).click() logger.info('点击网络配置') def click_portMapping(self): self.find_element(*self.portMapping).click() logger.info('点击端口映射') def click_DMZ(self): self.find_element(*self.DMZ).click() logger.info('点击DMZ') def click_DMZEn(self): self.find_element(*self.DMZEn).click() def input_GlobalDMZ(self, GlobalDMZ): self.find_element(*self.GlobalDMZ).clear() self.find_element(*self.GlobalDMZ).send_keys(GlobalDMZ) def input_WAN1DMZ(self, WAN1DMZ): self.find_element(*self.WAN1DMZ).clear() self.find_element(*self.WAN1DMZ).send_keys(WAN1DMZ) def click_save(self): self.find_element(*self.save).click() def click_DMZC(self): self.find_element(*self.DMZC).click()
class switchConfigPage(BasePage): portVlanM = getMenu('portVlanM') portMirrorM = getMenu('portMirrorM') switchConfig = (By.XPATH, '//span[@data-local="{switchConfig}"]')# 交换配置 # 端口vlan portVlan = (By.LINK_TEXT,portVlanM ) VLAN1 = ('//*[@id="1"]/table/tbody/tr[1]/td[1]/label') VLAN2 = ('//*[@id="1"]/table/tbody/tr[2]/td[1]/label') #端口镜像 portMirror = (By.LINK_TEXT,portMirrorM) MirrorEns = ('//input[@name="MirrorEnable"and@value="off"]') Monitorport = ('//*[@id="1"]/table/tbody/tr[2]/td[1]/label') #监控端口 Monitoredport = ('//*[@id="1"]/table/tbody/tr[3]/td[1]/label') #被监控端口 def click_switchConfig(self): self.find_element(*self.switchConfig).click() logger.info('点击交换配置') def click_portVlan(self): self.find_element(*self.portVlan).click() logger.info('点击端口vlan二级菜单') def click_portMirror(self): self.find_element(*self.portMirror).click() logger.info('点击端口镜像二级菜单') def find_switchConfig(self): self.exist_element(*self.switchConfig).click() logger.info('点击交换配置') def find_portVlan(self): self.exist_element(*self.portVlan).click() logger.info('点击端口vlan二级菜单') def find_portMirror(self): self.exist_element(*self.portMirror).click() logger.info('点击端口镜像二级菜单')
class ToolsPage(BasePage): ToolsM = getMenu('ToolsM') TraceRouteM = getMenu('TraceRouteM') sysConfig = (By.XPATH, '//span[@data-local="{sysConfig}"]') #系统配置菜单 Tools = (By.LINK_TEXT, ToolsM) # 网络工具菜单 #ping ping = ('//*[@id="1"]/table/tbody/tr[3]/td[1]/label') #ping次数 # TraceRoute TraceRoute = (By.LINK_TEXT, TraceRouteM) # TraceRoute菜单 maxTTL1 = ('//*[@id="2"]/table/tbody/tr[3]/td[1]/label') #最大TTL def click_sysConfig(self): self.find_element(*self.sysConfig).click() logger.info('点击系统配置') def click_Tools(self): self.find_element(*self.Tools).click() logger.info('点击网络工具菜单') def click_TraceRoute(self): self.find_element(*self.TraceRoute).click() logger.info('点击TraceRoute菜单')
class NetSniperPage(BasePage): NetSniperM = getMenu('NetSniperM') NetSniperconfigM = getMenu('NetSniperconfigM') BehaviorManagement = (By.XPATH, '//span[@data-local="{BehaviorManagement}"]' ) #行为管理菜单 NetSniper = (By.LINK_TEXT, NetSniperM) # 内网网络尖兵菜单 NetSniperconfig = (By.LINK_TEXT, NetSniperconfigM) # 网络尖兵配置菜单 listnodata = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td/div') enable = ('enable') def click_BehaviorManagement(self): self.find_element(*self.BehaviorManagement).click() logger.info('点击行为管理') def click_NetSniper(self): self.find_element(*self.NetSniper).click() logger.info('点击内网网络尖兵') def click_NetSniperconfig(self): self.find_element(*self.NetSniperconfig).click() logger.info('点击网络尖兵配置')
class AppPriorityPage(BasePage): AppPriorityM = getMenu('AppPriorityM') TrafficManagement = (By.XPATH, '//span[@data-local="{TrafficManagement}"]' ) #流量管理菜单 AppPriority = (By.LINK_TEXT, AppPriorityM) # 应用优先 #应用优先 appType = ('appType') changeAppType = (By.ID, 'changeAppType') list_name1 = ( '//*[@id="1"]/div/div[1]/div[1]/table/tbody/tr[1]/td[3]/span') checkOpen = (By.ID, 'checkOpen') checkOpens = ('checkOpen') add = (By.ID, 'add') delete = (By.ID, 'delete') import1 = (By.ID, 'import') export = (By.ID, 'export') listnodata = ('//*[@id="1"]/div/div[1]/div[1]/table/tbody/tr[1]/td/div') def click_TrafficManagement(self): self.find_element(*self.TrafficManagement).click() logger.info('点击流量管理') def click_AppPriority(self): self.find_element(*self.AppPriority).click() logger.info('点击应用优先') def click_changeAppType(self): self.find_element(*self.changeAppType).click() def click_checkOpen(self): self.find_element(*self.checkOpen).click() def find_add(self): self.exist_element(*self.add) def find_delete(self): self.exist_element(*self.delete) def find_import1(self): self.exist_element(*self.import1) def find_export(self): self.exist_element(*self.export)
class SessionControlPage(BasePage): SessionControlM = getMenu('SessionControlM') FireWall = (By.XPATH, '//span[@data-local="{fireWall}"]') #防火墙菜单 SessionControl = (By.LINK_TEXT, SessionControlM) # 连接数限制菜单 swENs = ('//input[@name="enable"and@value="off"]') totalCnt = ('totalCnt') tcp = ('tcp') udp = ('udp') icmp = ('icmp') def click_FireWall(self): self.find_element(*self.FireWall).click() logger.info('点击防火墙') def click_SessionControl(self): self.find_element(*self.SessionControl).click() logger.info('点击连接数限制菜单')
class BWManagementPage(BasePage): TrafficManagementM = getMenu('TrafficManagementM') Qos = (By.XPATH, '//span[@data-local="{TrafficManagement}"]') #流量管理菜单 TrafficManagement = (By.LINK_TEXT, TrafficManagementM) # 流量管理二级菜单 add = (By.ID, 'add') GroupNames = (By.NAME, 'GroupNames') notes = (By.NAME, 'notes') order = (By.NAME, 'order') orgShow = (By.NAME, 'orgShow') userip = (By.XPATH, '//input[@name="applyType"and@value="ip"]') usergroup = (By.XPATH, '//input[@name="applyType"and@value="org"]') userall = (By.XPATH, '//input[@name="applyType"and@value="all"]') saveW1 = (By.XPATH, '//*[@id="modal-applyUser"]/div/div/div[3]/ul/li[1]' ) # 弹窗中的保存 lkcl1 = (By.XPATH, '//input[@name="lkcl"and@value="1"]') #应用保障 lkcl0 = (By.XPATH, '//input[@name="lkcl"and@value="0"]') # 应用限制 policy2 = (By.XPATH, '//input[@name="policy"and@value="2"]') # 共享限速 policy1 = (By.XPATH, '//input[@name="policy"and@value="1"]') # 独享限速 uRate = (By.NAME, 'uRate') #上传 dRate = (By.NAME, 'dRate') #下载 effecttime = ('effecttime') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 界面页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 跳转最后页 def click_Qos(self): self.find_element(*self.Qos).click() logger.info('点击流量管理') def click_TrafficManagement(self): self.find_element(*self.TrafficManagement).click() logger.info('点击流量管理二级菜单') def click_add(self): self.find_element(*self.add).click() def input_GroupNames(self, GroupNames): self.find_element(*self.GroupNames).clear() self.find_element(*self.GroupNames).send_keys(GroupNames) def input_notes(self, notes): self.find_element(*self.notes).clear() self.find_element(*self.notes).send_keys(notes) def input_order(self, order): self.find_element(*self.order).clear() self.find_element(*self.order).send_keys(order) def click_orgShow(self): self.find_element(*self.orgShow).click() def click_userip(self): self.find_element(*self.userip).click() def click_usergroup(self): self.find_element(*self.usergroup).click() def click_userall(self): self.find_element(*self.userall).click() def click_saveW1(self): self.find_element(*self.saveW1).click() def click_lkcl1(self): self.find_element(*self.lkcl1).click() def click_lkcl0(self): self.find_element(*self.lkcl0).click() def click_policy2(self): self.find_element(*self.policy2).click() def click_policy1(self): self.find_element(*self.policy1).click() def input_uRate(self, uRate): self.find_element(*self.uRate).clear() self.find_element(*self.uRate).send_keys(uRate) def input_dRate(self, dRate): self.find_element(*self.dRate).clear() self.find_element(*self.dRate).send_keys(dRate) def click_pageend1(self): self.find_element(*self.pageend1).click()
class netNamePage(BasePage): netNameM = getMenu('netNameM') #网络名称 wirelessExtension = (By.XPATH, '//span[@data-local="{wirelessExtension}"]') netName = (By.LINK_TEXT, netNameM ) u_cfm_boxT = ('u-cfm-box') ok = (By.ID,'u-cfm-ok') u_cfm_nox = (By.ID, 'u-cfm-nox') checkOpens = ('checkOpen') checkOpen = (By.ID,'checkOpen') ManageProtocols = (By.ID,'ManageProtocol') ManageProtocolss = ('ManageProtocol') list_edit1 = (By.XPATH,'//span[@data-primarykey="0"and@data-event="edit"]') ssid = (By.NAME,'ssid') next_tab = (By.ID,'next_tab') encryType = ('encryType') pskPsswd = (By.NAME,'pskPsswd') txBand = (By.NAME,'txBand') rxBand = (By.NAME,'rxBand') list_ssid1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') zoneName = (By.NAME,'zoneName') cli_5g = (By.XPATH,'//input[@name="spjk"and@value="fre5"]') #ssid 5G 勾 vlanId = ('vlanId') gjxx = (By.ID,'gjxx') #高级选项 broadcastEn = (By.XPATH,'//input[@name="broadcastEn"and@value="0"]') #隐藏ssid isolateEn = (By.XPATH,'//input[@name="isolateEn"and@value="1"]') #无线客户端隔离 cli_2g = (By.XPATH, '//input[@name="spjk"and@value="fre2"]') #ssid 2G 勾 list_ssid2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/span') list_ssid3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[4]/span') list_ssid4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[4]/span') save = (By.ID,'save') list_edit4 = (By.XPATH, '//span[@data-primarykey="3"and@data-event="edit"]') list_del4 = (By.XPATH, '//span[@data-primarykey="3"and@event-type="delete"]') add = (By.ID,'add') list_nodata4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td') sharelimit = (By.XPATH,'//*[@id="e4"]/table/tbody/tr[1]/td[2]/input[1]') #003 list_autosend1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[11]/input') list_autosend1c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[11]/input') #004 list_sutosend4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[11]/input') list_sutosend4c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[11]/input') encodeType = ('encodeType') # 选电脑优先/电脑优先 list_ssid5 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[4]/span') selall = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/thead/tr/th[1]/input') #全选 sellist1 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[1]/input') #第一个ssid前的勾 delete = (By.ID,'delete') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 组1页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 跳转最后页 def click_wirelessExtension(self): self.find_element(*self.wirelessExtension).click() logger.info('点击无线扩展') def click_netName(self): self.find_element(*self.netName).click() logger.info('点击网络名称') def click_ok(self): self.find_element(*self.ok).click() def find_ok(self): self.exist_element(*self.ok).click() def click_checkOpen(self): self.find_element(*self.checkOpen).click() def click_ManageProtocols(self): self.find_element(*self.ManageProtocols).click() def click_u_cfm_nox(self): self.find_element(*self.u_cfm_nox).click() def click_list_edit1(self): self.find_element(*self.list_edit1).click() def input_ssid(self,ssid): self.find_element(*self.ssid).clear() self.find_element(*self.ssid).send_keys(ssid) def click_next_tab(self): self.find_element(*self.next_tab).click() def input_pskPsswd(self,pskPsswd): self.find_element(*self.pskPsswd).clear() self.find_element(*self.pskPsswd).send_keys(pskPsswd) def input_txBand(self,txBand): self.find_element(*self.txBand).clear() self.find_element(*self.txBand).send_keys(txBand) def input_rxBand(self,rxBand): self.find_element(*self.rxBand).clear() self.find_element(*self.rxBand).send_keys(rxBand) def input_zoneName(self, zoneName): self.find_element(*self.zoneName).clear() self.find_element(*self.zoneName).send_keys(zoneName) def click_gjxx(self): self.find_element(*self.gjxx).click() def click_broadcastEn(self): self.find_element(*self.broadcastEn).click() def click_isolateEn(self): self.find_element(*self.isolateEn).click() def click_cli_2g(self): self.find_element(*self.cli_2g).click() def click_list_edit4(self): self.find_element(*self.list_edit4).click() def click_list_del4(self): self.find_element(*self.list_del4).click() def click_save(self): self.find_element(*self.save).click() def click_add(self): self.find_element(*self.add).click() def click_list_autosend1c(self): self.find_element(*self.list_autosend1c).click() def click_list_sutosend4c(self): self.find_element(*self.list_sutosend4c).click() def click_cli_5g(self): self.find_element(*self.cli_5g).click() def click_sharelimit(self): self.find_element(*self.sharelimit).click() def click_selall(self): self.find_element(*self.selall).click() def click_sellist1(self): self.find_element(*self.sellist1).click() def click_delete(self): self.find_element(*self.delete).click() def click_pageend1(self): self.find_element(*self.pageend1).click()
class ConfigGuidepage(BasePage): wanconfigM = getMenu('wanconfigM') #菜单外网配置 configGuide = (By.XPATH, '//span[@data-local="{configWizard}"]') next = (By.ID, 'next') #配置向导 接入方式 # connectionTypew = (By.NAME,'connectionTypew') connectionTypew = ('connectionTypew') okey = (By.ID, 'okey') #无线设备 ssid = (By.NAME, 'ssid') ssid_5g = (By.NAME, 'ssid_5g') passwd = (By.NAME, 'passwd') passwd_5g = (By.NAME, 'passwd_5g') wrlessMode = ('wrlessMode') wrlessMode_5g = ('wrlessMode_5g') channel = ('channel') channel_5g = ('channel_5g') chanWidth = ('chanWidth') chanWidth_5g = ('chanWidth_5g') # # 网络配置 # netConfig = (By.XPATH, '//span[@data-local="{netConfig}"]') # wanConfig = (By.LINK_TEXT,wanconfigM) # #wan1口连接类型 # # list_lineType = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') # list_lineType = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') # #刷新 # refresh = (By.XPATH,'//*[@id="otherBtns"]/button') # #wan1口连接状态 # list_connState = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[2]/a') # # #固定002 # # 从外网配置页面获取WAN1口地址 # WAN1_ip = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') # WAN1_gw = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span') # WAN1_dns = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[9]/span') #配置向导固定 staticIp = (By.NAME, 'staticIp') staticGateway = (By.NAME, 'staticGateway') staticPriDns = (By.NAME, 'staticPriDns') #003 pppoe pppoeUser = (By.NAME, 'pppoeUser') pppoePass = (By.NAME, 'pppoePass') dial = (By.XPATH, '//*[@id="otherBtns"]/button[2]') #拨号 def click_configGuide(self): self.find_element(*self.configGuide).click() logger.info('点击配置向导') def click_next(self): self.find_element(*self.next).click() # def sel_connectionTypew(self): # self.find_element(*self.connectionTypew) def find_okey(self): self.exist_element(*self.okey).click() def click_okey(self): self.find_element(*self.okey).click() def input_staticIp(self, staticIp): self.find_element(*self.staticIp).clear() self.find_element(*self.staticIp).send_keys(staticIp) def input_staticGateway(self, staticGateway): self.find_element(*self.staticGateway).clear() self.find_element(*self.staticGateway).send_keys(staticGateway) def input_staticPriDns(self, staticPriDns): self.find_element(*self.staticPriDns).clear() self.find_element(*self.staticPriDns).send_keys(staticPriDns) def input_pppoeUser(self, pppoeUser): self.find_element(*self.pppoeUser).clear() self.find_element(*self.pppoeUser).send_keys(pppoeUser) def input_pppoePass(self, pppoePass): self.find_element(*self.pppoePass).clear() self.find_element(*self.pppoePass).send_keys(pppoePass) def input_ssid(self, ssid): self.find_element(*self.ssid).clear() self.find_element(*self.ssid).send_keys(ssid) def input_passwd(self, passwd): self.find_element(*self.passwd).clear() self.find_element(*self.passwd).send_keys(passwd) def input_ssid_5g(self, ssid_5g): self.find_element(*self.ssid_5g).clear() self.find_element(*self.ssid_5g).send_keys(ssid_5g) def input_passwd_5g(self, passwd_5g): self.find_element(*self.passwd_5g).clear() self.find_element(*self.passwd_5g).send_keys(passwd_5g) def find_ssid_5g(self): self.exist_element(*self.ssid_5g).click() # def click_netConfig(self): # self.find_element(*self.netConfig).click() # logger.info('点击网络配置') # # def click_wanConfig(self): # self.find_element(*self.wanConfig).click() # logger.info('点击外网配置') # # #刷新 # def click_refresh(self): # self.find_element(*self.refresh).click() # # def click_list_connState(self): # self.find_element(*self.list_connState).click() def click_dial(self): self.find_element(*self.dial).click()
class IPsecPage(BasePage): IPSecM = getMenu('IPSecM') VPNConfig = (By.XPATH, '//span[@data-local="{VPNConfig}"]') #VPN配置菜单 IPSec = (By.LINK_TEXT, IPSecM) # ipsec配置菜单 add = (By.ID,'add') connType = ('connType') transform = ('transform[0]') #加密认证算法 highChoosen = (By.ID,'highChoosen') # 高级选项 negMode = ('//*[@id="highChoosen"]/div/div/div[2]/table/tbody/tr[2]/td[2]/select') #协商模式 policy = ('//*[@id="highChoosen"]/div/div/div[2]/table/tbody/tr[4]/td[2]/select') #加密认证算法1 anti_replay = (By.XPATH,'//input[@type="checkbox"and@name="anti_replay"]') #抗重播 dpdEn = (By.XPATH,'//input[@type="checkbox"and@name="dpdEnable"]') #DPD nattEn = (By.XPATH,'//input[@type="checkbox"and@name="nattEnable"]') #NAT穿透 HeartbeatInt = (By.XPATH,'//*[@id="highChoosen"]/div/div/div[2]/table/tbody/tr[17]/td[2]/input') #心跳 natPort = (By.XPATH,'//*[@id="highChoosen"]/div/div/div[2]/table/tbody/tr[18]/td[2]/input') #端口 Keepalive = (By.XPATH,'//*[@id="highChoosen"]/div/div/div[2]/table/tbody/tr[19]/td[2]/input') #维持 localBind = ('localBind') #本地绑定 selall = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/thead/tr/th[1]') delall = (By.ID,'delete') ok = (By.ID,'u-cfm-ok') no = (By.ID,'u-cfm-no') u_tim_str = ('u-tim-str') tipsshowin = (By.CLASS_NAME, 'tips-show-in') ids = (By.NAME,'ids') #隧道名称 peer = (By.NAME,'peer') #远端网关地址 remoteAddr = (By.NAME,'remoteAddr') #远端内网地址 remoteMask = (By.NAME,'remoteMask') #远端内网子网掩码 preshareKey = (By.NAME,'preshareKey') #预共享密钥 save = (By.ID,'save') list_status = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') #VPN状态 list_nodata = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td/div') list_nodataX = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td/div') def click_VPNConfig(self): self.find_element(*self.VPNConfig).click() logger.info('点击VPN配置') def click_IPSec(self): self.find_element(*self.IPSec).click() logger.info('点击IPSec') def click_add(self): self.find_element(*self.add).click() def click_highChoosen(self): self.find_element(*self.highChoosen).click() def click_anti_replay(self): self.find_element(*self.anti_replay).click() def click_dpdEn(self): self.find_element(*self.dpdEn).click() def click_nattEn(self): self.find_element(*self.nattEn).click() def input_HeartbeatInt(self,HeartbeatInt): self.find_element(*self.HeartbeatInt).clear() self.find_element(*self.HeartbeatInt).send_keys(HeartbeatInt) def input_natPort(self, natPort): self.find_element(*self.natPort).clear() self.find_element(*self.natPort).send_keys(natPort) def input_Keepalive(self, Keepalive): self.find_element(*self.Keepalive).clear() self.find_element(*self.Keepalive).send_keys(Keepalive) def click_selall(self): self.find_element(*self.selall).click() def click_delall(self): self.find_element(*self.delall).click() def find_ok(self): self.exist_element(*self.ok).click() def find_no(self): self.exist_element(*self.no).click() def click_ok(self): self.find_element(*self.ok).click() def find_tipsshowin(self): self.exist_element(*self.tipsshowin) def input_ids(self, ids): self.find_element(*self.ids).clear() self.find_element(*self.ids).send_keys(ids) def input_peer(self,peer): self.find_element(*self.peer).clear() self.find_element(*self.peer).send_keys(peer) def input_remoteAddr(self,remoteAddr): self.find_element(*self.remoteAddr).clear() self.find_element(*self.remoteAddr).send_keys(remoteAddr) def input_remoteMask(self,remoteMask): self.find_element(*self.remoteMask).clear() self.find_element(*self.remoteMask).send_keys(remoteMask) def input_preshareKey(self,preshareKey): self.find_element(*self.preshareKey).clear() self.find_element(*self.preshareKey).send_keys(preshareKey) def click_save(self): self.find_element(*self.save).click() def find_list_nodataX(self): self.exist_element(*self.list_nodataX)
class WhiteListPage(BasePage): WhitelistM = getMenu('WhitelistM') globalconfigM = getMenu('globalconfigM') BehaviorManagement = (By.XPATH, '//span[@data-local="{BehaviorManagement}"]' ) #行为管理菜单 Whitelist = (By.LINK_TEXT, WhitelistM) # 白名单菜单 globalconfig = (By.LINK_TEXT, globalconfigM) #全局配置 add = (By.ID, 'add') ALI = (By.XPATH, '//input[@name="type"and@value="{ALI}"]') QQ = (By.XPATH, '//input[@name="type"and@value="QQ"]') acount = (By.NAME, 'acount') modalhide = (By.ID, 'modal-hide') QQEn = (By.XPATH, '//input[@name="ExceptQQEnable"and@value="on"]') QQC = (By.XPATH, '//input[@name="ExceptQQEnable"and@value="off"]') AliEn = (By.XPATH, '//input[@name="ExceptAliEnable"and@value="on"]') AliC = (By.XPATH, '//input[@name="ExceptAliEnable"and@value="off"]') maxpagenums = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/input') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 界面页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 跳转最后页 next = (By.ID, 'next') # 界面页数框下一页 def click_BehaviorManagement(self): self.find_element(*self.BehaviorManagement).click() logger.info('点击行为管理') def click_Whitelist(self): self.find_element(*self.Whitelist).click() logger.info('点击白名单') def click_globalconfig(self): self.find_element(*self.globalconfig).click() logger.info('点击全局配置') def click_add(self): self.find_element(*self.add).click() def click_ALI(self): self.find_element(*self.ALI).click() def click_QQ(self): self.find_element(*self.QQ).click() def input_acount(self, acount): self.find_element(*self.acount).clear() self.find_element(*self.acount).send_keys(acount) def click_modalhide(self): self.find_element(*self.modalhide).click() def click_QQEn(self): self.find_element(*self.QQEn).click() def click_QQC(self): self.find_element(*self.QQC).click() def click_AliEn(self): self.find_element(*self.AliEn).click() def click_AliC(self): self.find_element(*self.AliC).click() def click_pageend1(self): self.find_element(*self.pageend1).click() def input_maxpagenums(self, maxpagenums): self.find_element(*self.maxpagenums).clear() self.find_element(*self.maxpagenums).send_keys(maxpagenums) def click_next(self): self.find_element(*self.next).click()
class deviceMgmtPage(BasePage): deviceMgmtM = getMenu('deviceMgmtM') #设备管理 wirelessExtension = (By.XPATH, '//span[@data-local="{wirelessExtension}"]') deviceMgmt = (By.LINK_TEXT, deviceMgmtM) u_cfm_boxT = ('u-cfm-box') no = (By.ID, 'u-cfm-no') list_nodata = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td/div') refreshtable = (By.ID,'refreshtable') list_state1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span') #时间短 IP为空,状态位置为7 Priorityv2 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/thead/tr/th[3]/div/img[1]') #点击管理通讯协议,v2优先 list_status1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[8]/span') #正常时间 IP不为空,状态位置为8 list_status2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[8]/span') list_status2by = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[8]/span') list_status3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[8]/span') list_status4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[8]/span') list_channel1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[9]/a') list_channel2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[9]/a') list_channel3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[9]/a') list_channel4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[9]/a') list_channel1c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[9]/a') list_channel2c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[9]/a') list_channel3c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[9]/a') list_channel4c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[9]/a') list_channel51 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[12]/a') list_channel52 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[12]/a') list_channel53 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[12]/a') list_channel54 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[12]/a') list_channel51c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[12]/a') list_channel52c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[12]/a') list_channel53c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[12]/a') list_channel54c = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[12]/a') list_sel1 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[1]/input') # 勾选第一行 BatchManagement = (By.ID, 'BatchManagement') # 批量管理 spmb = ('spmb') # 射频设置 tab_modal = (By.XPATH, '//*[@id="tab_modal"]/div/div/div[1]/button/span') # 批量管理 - 关闭弹窗右上角 modal_hide = (By.ID, 'modal-hide') # 单台管理 - 关闭弹窗 list_sel4 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[1]/input') # 勾选第4行 list_2mode1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[10]/span') list_5mode1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[13]/span') list_IP1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span') list_2mode4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[10]/span') list_5mode4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[13]/span') list_IP4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[7]/span') save = (By.ID,'save') #002 AP管理 001 roamingSetM = getMenu('roamingSetM') #漫游阈值 list_seq1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[6]/span') #序列号 list_seq2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[6]/span') list_seq3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[6]/span') list_seq4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[6]/span') search = (By.XPATH,'//input[@data-local="{enterSearchContent}"]') #搜索框 searchB = (By.CLASS_NAME,'icon-search') list_name1 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/a') list_name1s = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/a') list_namein1 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/div/input') list_nameS1 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/div/button') list_name2 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/a') list_name2s = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/a') list_namein2 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/div/input') list_nameS2 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/div/button') list_name3 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[4]/a') list_name3s = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[4]/a') list_namein3 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[4]/div/input') list_nameS3 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[4]/div/button') list_name4 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[4]/a') list_name4s = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[4]/a') list_namein4 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[4]/div/input') list_nameS4 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[4]/div/button') selchannel2_1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[9]/div/select') selchannel2S_1 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[9]/div/button') selchannel5_1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[12]/div/select') selchannel5S_1 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[12]/div/button') list_mangement1 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[17]/a[2]') #单台管理1 modifyPw = (By.NAME,'modifyPw') #修改密码 pw1 = (By.NAME,'pw1') pw2 = (By.NAME,'pw2') roamingSet = (By.LINK_TEXT,roamingSetM) #漫游阈值 roaming_en = (By.XPATH,'//input[@name="roaming_en"and@value="1"]') roaming_cs = ('//input[@name="roaming_en"and@value="0"]') roaming_ens = ('//input[@name="roaming_en"and@value="1"]') roaming_th = (By.NAME,'roaming_th') roaming_ths = ('roaming_th') roaming_en5 = (By.XPATH,'//input[@name="roaming_en5G"and@value="1"]') roaming_en5s = ('//input[@name="roaming_en5G"and@value="1"]') roaming_c5s = ('//input[@name="roaming_en5G"and@value="0"]') roaming_th5 = (By.NAME, 'roaming_th5G') roaming_ths5 = ('roaming_th5G') #002 list_sel2 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[1]/input') # 勾选第2行 ssidM = (By.XPATH,'//*[@id="tab_modal"]/div/div/div[2]/nav/ul/li[2]/a') #批量管理中的网络名称 selall_w = (By.XPATH,'//*[@id="e2"]/div/div[1]/table/thead/tr/th[1]/input') #批量管理网络名称中全选 sendToApM = (By.ID,'sendToApM') ok = (By.ID,'u-cfm-ok') list_ssid1 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[16]/span') list_ssids1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[16]/span') list_modes1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[5]/span') list_ssid2 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[16]/span') list_ssids2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[16]/span') list_modes2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[5]/span') list_ssid3 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[16]/span') list_ssids3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[16]/span') list_modes3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[5]/span') list_ssid4 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[16]/span') list_ssids4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[16]/span') list_modes4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[5]/span') list_selwn1 = (By.XPATH, '//*[@id="e2"]/div/div[1]/table/tbody/tr[1]/td[1]/input') list_selwn2 = (By.XPATH, '//*[@id="e2"]/div/div[1]/table/tbody/tr[2]/td[1]/input')#批量管理网络名称中第二 list_selwn3 = (By.XPATH, '//*[@id="e2"]/div/div[1]/table/tbody/tr[3]/td[1]/input') list_sel3 = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[1]/input')#勾选第3行 #003 configrebootM = getMenu('configrebootM') backupconfigM = getMenu('backupconfigM') list_reboot1 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[17]/a[1]') list_reboot2 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[17]/a[1]') list_reboot3 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[17]/a[1]') list_reboot4 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[17]/a[1]') tipsshowin = ('tips-show-in') ftipsshowin = (By.CLASS_NAME,'tips-show-in') configreboot = (By.LINK_TEXT,configrebootM) #配置重启 factory_reset = (By.ID,'factory-reset') restart = (By.ID, 'restart') #重启 backupconfig = (By.LINK_TEXT,backupconfigM) searchBack = (By.XPATH,'//*[@id="2"]/div/div/header/ul/div[2]/input') searchBackb = (By.XPATH,'//*[@id="2"]/div/div/header/ul/div[2]/i') listback_nodata = ('//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td/div') listback_nodatab = (By.XPATH,'//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td/div') close = (By.CLASS_NAME,'close') allDelete = (By.ID,'allDelete') #备份配置中删除 clearOutlineAP = (By.ID,'clearOutlineAP') bconfigseq1 = ('//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span/span') bconfigmodel1 = ('//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[5]/span') backup = (By.ID,'backup') selall_b = (By.XPATH,'//*[@id="2"]/div/div/div[1]/table/thead/tr/th[1]/input') #备份配置中全选 sellist1 = (By.XPATH,'//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[1]/input') #备份配置中选中第一行 uploadBackup = (By.ID,'uploadBackup') chooseFile = (By.ID,'chooseFile') demo_id = (By.ID,'demo_id') #系统设置 SyssetupM = getMenu('SyssetupM') Syssetup = (By.LINK_TEXT,SyssetupM) TaskS_En = (By.XPATH,'//input[@name="TaskS"and@value="1"]') TaskS_C = (By.XPATH, '//input[@name="TaskS"and@value="0"]') sleepMode_En = (By.XPATH,'//input[@name="sleepMode"and@value="on"]') sleepMode_C = (By.XPATH, '//input[@name="sleepMode"and@value="off"]') TaskSValue = ('TaskSValue') Prioritystate = (By.XPATH,'//*[@id="1"]/div/div/div[1]/table/thead/tr/th[8]/div/img[1]') #状态,在线在上 def click_wirelessExtension(self): self.find_element(*self.wirelessExtension).click() logger.info('点击无线扩展') def click_deviceMgmt(self): self.find_element(*self.deviceMgmt).click() logger.info('点击设备管理') def click_no(self): self.find_element(*self.no).click() def click_refreshtable(self): self.find_element(*self.refreshtable).click() def click_Priorityv2(self): self.find_element(*self.Priorityv2).click() def click_list_sel1(self): self.find_element(*self.list_sel1).click() def click_BatchManagement(self): self.find_element(*self.BatchManagement).click() def click_tab_modal(self): self.find_element(*self.tab_modal).click() def click_modal_hide(self): self.find_element(*self.modal_hide).click() def click_list_sel3(self): self.find_element(*self.list_sel3).click() def click_list_sel4(self): self.find_element(*self.list_sel4).click() def click_save(self): self.find_element(*self.save).click() def input_search(self,search): self.find_element(*self.search).clear() self.find_element(*self.search).send_keys(search) def click_searchB(self): self.find_element(*self.searchB).click() def click_list_name1(self): self.find_element(*self.list_name1).click() def click_list_nameS1(self): self.find_element(*self.list_nameS1).click() def find_list_nameS1(self): self.exist_element(*self.list_nameS1) def click_list_name2(self): self.find_element(*self.list_name2).click() def click_list_nameS2(self): self.find_element(*self.list_nameS2).click() def click_list_name3(self): self.find_element(*self.list_name3).click() def click_list_nameS3(self): self.find_element(*self.list_nameS3).click() def click_list_name4(self): self.find_element(*self.list_name4).click() def click_list_nameS4(self): self.find_element(*self.list_nameS4).click() def input_list_namein1(self, list_namein1): self.find_element(*self.list_namein1).clear() self.find_element(*self.list_namein1).send_keys(list_namein1) def input_list_namein2(self, list_namein2): self.find_element(*self.list_namein2).clear() self.find_element(*self.list_namein2).send_keys(list_namein2) def input_list_namein3(self, list_namein3): self.find_element(*self.list_namein3).clear() self.find_element(*self.list_namein3).send_keys(list_namein3) def input_list_namein4(self, list_namein4): self.find_element(*self.list_namein4).clear() self.find_element(*self.list_namein4).send_keys(list_namein4) def click_list_channel1c(self): self.find_element(*self.list_channel1c).click() def click_selchannel2S_1(self): self.find_element(*self.selchannel2S_1).click() def find_selchannel2S_1(self): self.exist_element(*self.selchannel2S_1) def click_list_channel51c(self): self.find_element(*self.list_channel51c).click() def click_selchannel5S_1(self): self.find_element(*self.selchannel5S_1).click() def find_selchannel5S_1(self): self.exist_element(*self.selchannel5S_1) def click_list_mangement1(self): self.find_element(*self.list_mangement1).click() def click_modifyPw(self): self.find_element(*self.modifyPw).click() def input_pw1(self, pw1): self.find_element(*self.pw1).clear() self.find_element(*self.pw1).send_keys(pw1) def input_pw2(self, pw2): self.find_element(*self.pw2).clear() self.find_element(*self.pw2).send_keys(pw2) def click_roamingSet(self): self.find_element(*self.roamingSet).click() def click_roaming_en(self): self.find_element(*self.roaming_en).click() def input_roaming_th(self, roaming_th): self.find_element(*self.roaming_th).clear() self.find_element(*self.roaming_th).send_keys(roaming_th) def click_roaming_en5(self): self.find_element(*self.roaming_en5).click() def input_roaming_th5(self, roaming_th5): self.find_element(*self.roaming_th5).clear() self.find_element(*self.roaming_th5).send_keys(roaming_th5) def click_list_sel2(self): self.find_element(*self.list_sel2).click() def click_ssidM(self): self.find_element(*self.ssidM).click() def click_selall_w(self): self.find_element(*self.selall_w).click() def click_sendToApM(self): self.find_element(*self.sendToApM).click() def find_sendToApM(self): self.exist_element(*self.sendToApM) def click_ok(self): self.find_element(*self.ok).click() def find_ok(self): self.exist_element(*self.ok).click() def click_list_ssid1(self): self.find_element(*self.list_ssid1).click() def click_list_ssid2(self): self.find_element(*self.list_ssid2).click() def click_list_ssid3(self): self.find_element(*self.list_ssid3).click() def click_list_ssid4(self): self.find_element(*self.list_ssid4).click() def click_list_selwn1(self): self.exist_element(*self.list_selwn1).click() def click_list_selwn2(self): self.find_element(*self.list_selwn2).click() def click_list_selwn3(self): self.find_element(*self.list_selwn3).click() def click_list_reboot1(self): self.find_element(*self.list_reboot1).click() def find_list_reboot1(self): self.exist_element(*self.list_reboot1) def click_list_reboot2(self): self.find_element(*self.list_reboot2).click() def click_list_reboot3(self): self.find_element(*self.list_reboot3).click() def click_list_reboot4(self): self.find_element(*self.list_reboot4).click() def click_configreboot(self): self.find_element(*self.configreboot).click() def click_factory_reset(self): self.find_element(*self.factory_reset).click() def find_factory_reset(self): self.exist_element(*self.factory_reset) def click_restart(self): self.find_element(*self.restart).click() def find_restart(self): self.exist_element(*self.restart) def click_backupconfig(self): self.find_element(*self.backupconfig).click() def input_searchBack(self,searchBack): self.find_element(*self.searchBack).clear() self.find_element(*self.searchBack).send_keys(searchBack) def click_searchBackb(self): self.find_element(*self.searchBackb).click() def find_tipsshowin(self): self.exist_element(*self.ftipsshowin).click() def click_close(self): self.find_element(*self.close).click() def click_clearOutlineAP(self): self.find_element(*self.clearOutlineAP).click() def find_list_status2(self): self.exist_element(*self.list_status2by).click() def click_backup(self): self.find_element(*self.backup).click() def find_backup(self): self.exist_element(*self.backup) def click_selall_b(self): self.find_element(*self.selall_b).click() def click_sellist1(self): self.find_element(*self.sellist1).click() def click_allDelete(self): self.find_element(*self.allDelete).click() def find_allDelete(self): self.exist_element(*self.allDelete) def find_listback_nodata(self): self.exist_element(*self.listback_nodatab) def click_uploadBackup(self): self.find_element(*self.uploadBackup).click() def find_uploadBackup(self): self.exist_element(*self.uploadBackup) def click_chooseFile(self): self.find_element(*self.chooseFile).click() def click_demo_id(self): self.find_element(*self.demo_id).click() def click_Syssetup(self): self.find_element(*self.Syssetup).click() def click_TaskS_En(self): self.find_element(*self.TaskS_En).click() def click_TaskS_C(self): self.find_element(*self.TaskS_C).click() def click_sleepMode_En(self): self.find_element(*self.sleepMode_En).click() def click_sleepMode_C(self): self.find_element(*self.sleepMode_C).click() def click_Prioritystate(self): self.find_element(*self.Prioritystate).click()
class sysStaticPage(BasePage): sysStaticM = getMenu('sysStaticM') systemWatch = (By.XPATH, '//span[@data-local="{systemWatch}"]') #系统监控 sysStatic = (By.LINK_TEXT, sysStaticM) #系统状态 Model = ('//*[@id="msg"]/table/tbody/tr[1]/td[2]/span') #设备型号 hdmodel = ('//*[@id="msg"]/table/tbody/tr[5]/td[2]/span') #硬件版本 software = ('//*[@id="msg"]/table/tbody/tr[3]/td[2]/span') #软件版本 SN = ('//*[@id="msg"]/table/tbody/tr[4]/td[2]/span') #序列号 tips1 = ('//*[@id="content"]/div[2]/div[1]/div/div/div/div/nav/ul/li[1]/a') tips2 = ( '//*[@id="content"]/div[2]/div[2]/div/div/div[1]/div[1]/div/div/div/nav/ul/li/a' ) tips3 = ( '//*[@id="content"]/div[2]/div[2]/div/div/div[2]/div[1]/div/div/div/nav/ul/li/a' ) tips4 = ( '//*[@id="content"]/div[2]/div[2]/div/div/div[1]/div[2]/div/div/div/nav/ul/li/a' ) tips5 = ( '//*[@id="content"]/div[2]/div[2]/div/div/div[2]/div[2]/div/div/div/nav/ul/li/a' ) more1 = ( By.XPATH, '//*[@id="content"]/div[2]/div[2]/div/div/div[2]/div[1]/div/div/div/nav/ul/div/a' ) #今日应用流量排名更多 more2 = ( By.XPATH, '//*[@id="content"]/div[2]/div[2]/div/div/div[1]/div[2]/div/div/div/nav/ul/div/a' ) # 今日用户网络流量排名更多 more3 = ( By.XPATH, '//*[@id="content"]/div[2]/div[2]/div/div/div[2]/div[2]/div/div/div/nav/ul/div/a' ) # VPN状态更多 list_num = ( '//*[@id="todayAppFlowRanking"]/div/div[1]/table/tbody/tr[1]/td[1]/span' ) #今日应用流量排名 list_user = ( '//*[@id="todayUserNetworkFlowRanking"]/div/div[1]/table/tbody/tr[1]/td[1]/span' ) #今日用户网络流量排名 list_name = ('//*[@id="VPNStatus"]/div/div[1]/table/tbody/tr[1]/td[2]/span' ) # VPN状态 def click_systemWatch(self): self.find_element(*self.systemWatch).click() logger.info('点击系统监控') def click_sysStatic(self): self.find_element(*self.sysStatic).click() logger.info('点击系统状态') def click_more1(self): self.find_element(*self.more1).click() def click_more2(self): self.find_element(*self.more2).click() def click_more3(self): self.find_element(*self.more3).click()
class ManagementPolicyPage(BasePage): ManagementPolicyM = getMenu('ManagementPolicyM') lanAccessControlM = getMenu('lanAccessControlM') RemoteManagementM = getMenu('RemoteManagementM') AccessPolicyM = getMenu('AccessPolicyM') LanguageM = getMenu('LanguageM') sysConfig = (By.XPATH, '//span[@data-local="{sysConfig}"]') #系统配置菜单 ManagementPolicy = (By.LINK_TEXT, ManagementPolicyM) # 网管策略菜单 #系统管理员 add = (By.ID, 'add') username = (By.NAME, 'username') passwd1 = (By.NAME, 'passwd1') passwd2 = (By.NAME, 'passwd2') role = ('role') save = (By.ID, 'save') list_name1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[2]/span') list_role1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[3]/span') list_edit1 = ( By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/span[1]') input_group = (By.CLASS_NAME, 'input-group') #修改后点击下其他元素,避免没有保存成功 list_delete1 = ( By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/span[2]') ok = (By.ID, 'u-cfm-ok') pageTip_warn = ('pageTip-warn') list2_nodata = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td') defaultAcc = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[2]/span' ) #admin账号 defaultRole = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') #远程管理 RemoteManagement = (By.LINK_TEXT, RemoteManagementM) httpEn = (By.XPATH, '//input[@name="HttpEnable"and@value="1"]') httpEnS = ('//input[@name="HttpEnable"and@value="1"]') httpC = (By.XPATH, '//input[@name="HttpEnable"and@value="0"]') httpCs = ('//input[@name="HttpEnable"and@value="0"]') OutPort1 = ('OutPort') #内网访问控制 lanAccessControl = (By.LINK_TEXT, lanAccessControlM) choosePeople = (By.NAME, 'choosePeople') userall = (By.XPATH, '//input[@name="applyType"and@value="all"]') usergroup = (By.XPATH, '//input[@name="applyType"and@value="org"]') Root = (By.ID, 'newTree_1_check') userip = (By.XPATH, '//input[@name="applyType"and@value="ip"]') starip = (By.NAME, 'starip') endip = (By.NAME, 'endip') saveW1 = (By.XPATH, '//*[@id="modal-applyUser"]/div/div/div[3]/ul/li[1]' ) # 弹窗保存 innerAccessControlEn = ( By.XPATH, '//input[@name="innerAccessControl"and@value="on"]') innerAccessControlEns = ( '//input[@name="innerAccessControl"and@value="on"]') innerAccessControlC = ( By.XPATH, '//input[@name="innerAccessControl"and@value="off"]') innerAccessControlCs = ( '//input[@name="innerAccessControl"and@value="off"]') #语言 Language = (By.LINK_TEXT, LanguageM) languageText = ('//*[@id="5"]/table/tbody/tr/td[2]/span') #网管访问策略 AccessPolicy = (By.XPATH, AccessPolicyM) httpwebEn = (By.XPATH, '//input[@value="1"and@data-control-src="HTTP"]') httpwebEns = ('//input[@value="1"and@data-control-src="HTTP"]') httpswebEn = (By.XPATH, '//input[@value="2"and@data-control-src="HTTPS"]') httpswebEns = ('//input[@value="2"and@data-control-src="HTTPS"]') passwdErrNum = (By.NAME, 'passwdErrNum') loginSpan = (By.NAME, 'loginSpan') sessionLife = (By.NAME, 'sessionLife') passwdErrNum1 = ('passwdErrNum') loginSpan1 = ('loginSpan') sessionLife1 = ('sessionLife') def click_sysConfig(self): self.find_element(*self.sysConfig).click() logger.info('点击系统配置') def click_ManagementPolicy(self): self.find_element(*self.ManagementPolicy).click() logger.info('点击网管策略') def click_add(self): self.find_element(*self.add).click() def input_username(self, username): self.find_element(*self.username).clear() self.find_element(*self.username).send_keys(username) def input_passwd1(self, passwd1): self.find_element(*self.passwd1).clear() self.find_element(*self.passwd1).send_keys(passwd1) def input_passwd2(self, passwd2): self.find_element(*self.passwd2).clear() self.find_element(*self.passwd2).send_keys(passwd2) def click_save(self): self.find_element(*self.save).click() def click_listEdit1(self): self.find_element(*self.list_edit1).click() def click_input_group(self): self.find_element(*self.input_group).click() def click_listDelete1(self): self.find_element(*self.list_delete1).click() def click_ok(self): self.find_element(*self.ok).click() def click_RemoteManagement(self): self.find_element(*self.RemoteManagement).click() def click_httpEn(self): self.find_element(*self.httpEn).click() def click_httpC(self): self.find_element(*self.httpC).click() def click_lanAccessControl(self): self.find_element(*self.lanAccessControl).click() logger.info('点击内网访问控制') def click_choosePeople(self): self.find_element(*self.choosePeople).click() def click_userall(self): self.find_element(*self.userall).click() def click_usergroup(self): self.find_element(*self.usergroup).click() def click_Root(self): self.find_element(*self.Root).click() def click_userip(self): self.find_element(*self.userip).click() def click_saveW1(self): self.find_element(*self.saveW1).click() def click_innerAccessControlEn(self): self.find_element(*self.innerAccessControlEn).click() def input_starip(self, starip): self.find_element(*self.starip).clear() self.find_element(*self.starip).send_keys(starip) def input_endip(self, endip): self.find_element(*self.endip).clear() self.find_element(*self.endip).send_keys(endip) def click_innerAccessControlC(self): self.find_element(*self.innerAccessControlC).click() def click_Language(self): self.find_element(*self.Language).click() logger.info('点击语言选择') def click_AccessPolicy(self): self.find_element(*self.AccessPolicy).click() logger.info('点击网管访问策略') def click_httpwebEn(self): self.find_element(*self.httpwebEn).click() def click_httpswebEn(self): self.find_element(*self.httpswebEn).click() def input_passwdErrNum(self, passwdErrNum): self.find_element(*self.passwdErrNum).clear() self.find_element(*self.passwdErrNum).send_keys(passwdErrNum) def input_loginSpan(self, loginSpan): self.find_element(*self.loginSpan).clear() self.find_element(*self.loginSpan).send_keys(loginSpan) def input_sessionLife(self, sessionLife): self.find_element(*self.sessionLife).clear() self.find_element(*self.sessionLife).send_keys(sessionLife)
class AccessControlPage(BasePage): AccessControlM = getMenu('AccessControlM') FireWall = (By.XPATH, '//span[@data-local="{fireWall}"]') #防火墙菜单 AccessControl = (By.LINK_TEXT, AccessControlM) # 访问控制菜单 add = (By.ID,'add') PolicyNames = (By.NAME,'PolicyNames') sourceIP = (By.NAME,'sourceIP') usergroup = (By.XPATH, '//input[@name="applyType"and@value="org"]') Root = (By.ID,'newTree_1_check') saveW1 = (By.XPATH,'//*[@id="modal-applyUser"]/div/div/div[3]/ul/li[1]') #弹窗保存 seltime = ('timeGrpName') selservice = ('cyfw') save = (By.ID,'save') checkTraffic = (By.ID,'checkTraffic') #开关 list_dstport = ('//*[@id="1"]/div[1]/div/div[1]/table/tbody/tr[1]/td[13]/span') checkTrafficS = ('checkTraffic') delete = (By.XPATH,'//*[@data-primarykey="0"and@event-type="delete"]') ok = (By.ID,'u-cfm-ok') listnodata = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td/div') userip = (By.XPATH, '//input[@name="applyType"and@value="ip"]') starip = (By.NAME,'starip') endip = (By.NAME,'endip') glnrUrl = (By.NAME,'glnr_url') selFilterTypes = ('FilterTypes') list_Content = ('//*[@id="1"]/div[1]/div/div[1]/table/tbody/tr[1]/td[10]/span') glnrKeyword = (By.NAME,'glnr_keyword') OAloginid = (By.NAME,'loginid') OApassword = (By.NAME,'userpassword') OAlogin = (By.ID,'login') # notice = (By.XPATH,'//*[@id="_Draghandle_1554168195385"]/td/div[2]') #以访出现通告 OAsearcn = (By.XPATH,'//*[@id="sample"]/div[1]/a/span') #OA搜索框 OAsearcnWD = (By.XPATH,'//*[@id="sample"]/div[2]/ul/li[3]') #OA搜索改为文档类型 OAsearchvalue = (By.ID,'searchvalue') OAsearchbt = (By.ID,'searchbt') #搜索按钮 OAlogout = (By.CLASS_NAME,'logout') OAsubmit = (By.XPATH,'//*[@class="zd_btn_submit"and@value="确定"]') HeaderForXtalbe = (By.CLASS_NAME,'HeaderForXtalbe') #如果关键字过滤不生效,能出现文档列表栏 glnrdns = (By.NAME,'glnr_dns') userall = (By.XPATH,'//input[@name="applyType"and@value="all"]') selProtocol = ('Protocol') list1_name = ('//*[@id="1"]/div[1]/div/div[1]/table/tbody/tr[1]/td[3]/span') u_moveto_1 = ('u_moveto_1') u_movetosave = (By.ID,'u_movetosave') selall = (By.XPATH,'//*[@id="1"]/div[1]/div/div[1]/table/thead/tr/th[1]/input') delall = (By.ID,'delete') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 静态映射界面页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 静态映射跳转最后页 def click_FireWall(self): self.find_element(*self.FireWall).click() logger.info('点击防火墙') def click_AccessControl(self): self.find_element(*self.AccessControl).click() logger.info('点击访问控制') def click_add(self): self.find_element(*self.add).click() def input_PolicyNames(self, PolicyNames): self.find_element(*self.PolicyNames).clear() self.find_element(*self.PolicyNames).send_keys(PolicyNames) def click_sourceIP(self): self.find_element(*self.sourceIP).click() def click_usergroup(self): self.find_element(*self.usergroup).click() def click_Root(self): self.find_element(*self.Root).click() def click_saveW1(self): self.find_element(*self.saveW1).click() def click_save(self): self.find_element(*self.save).click() def click_checkTraffic(self): self.find_element(*self.checkTraffic).click() def click_delete(self): self.find_element(*self.delete).click() def click_ok(self): self.find_element(*self.ok).click() def click_userip(self): self.find_element(*self.userip).click() def input_starip(self, starip): self.find_element(*self.starip).clear() self.find_element(*self.starip).send_keys(starip) def input_endip(self, endip): self.find_element(*self.endip).clear() self.find_element(*self.endip).send_keys(endip) def input_glnrUrl(self, glnrUrl): self.find_element(*self.glnrUrl).clear() self.find_element(*self.glnrUrl).send_keys(glnrUrl) def input_glnrKeyword(self, glnrKeyword): self.find_element(*self.glnrKeyword).clear() self.find_element(*self.glnrKeyword).send_keys(glnrKeyword) def input_OAloginid(self, OAloginid): self.find_element(*self.OAloginid).clear() self.find_element(*self.OAloginid).send_keys(OAloginid) def input_OApassword(self, OApassword): self.find_element(*self.OApassword).clear() self.find_element(*self.OApassword).send_keys(OApassword) def click_OAlogin(self): self.find_element(*self.OAlogin).click() # def click_notice(self): # self.find_element(*self.notice).click() def click_OAsearcn(self): self.find_element(*self.OAsearcn).click() def click_OAsearcnWD(self): self.find_element(*self.OAsearcnWD).click() def input_OAsearchvalue(self, OAsearchvalue): self.find_element(*self.OAsearchvalue).clear() self.find_element(*self.OAsearchvalue).send_keys(OAsearchvalue) def find_OAsearchbt(self): self.exist_element(*self.OAsearchbt).click() def find_HeaderForXtalbe(self,*loc): self.exist_element(*self.HeaderForXtalbe) def click_OAlogout(self): self.find_element(*self.OAlogout).click() def click_OAsubmit(self): self.find_element(*self.OAsubmit).click() def input_glnrdns(self, glnrdns): self.find_element(*self.glnrdns).clear() self.find_element(*self.glnrdns).send_keys(glnrdns) def click_userall(self): self.find_element(*self.userall).click() def click_movetosave(self): self.find_element(*self.u_movetosave).click() def click_selall(self): self.find_element(*self.selall).click() def click_delall(self): self.find_element(*self.delall).click() def click_pageend1(self): self.find_element(*self.pageend1).click()
class natRulePage(BasePage): portMappingM = getMenu('portMappingM') natRuleM = getMenu('natRuleM') NetworkConfig = (By.XPATH, '//span[@data-local="{netConfig}"]') #网络配置菜单 portMapping = (By.LINK_TEXT, portMappingM) # 端口映射菜单 natRule = (By.LINK_TEXT, natRuleM) #端口映射菜单 add = (By.XPATH, '//*[@id="content"]/div/div[2]/div/div/header/ul[2]/ul/li[1]') RuleIDs = (By.NAME, 'RuleIDs') InFromIPs = (By.NAME, 'InFromIPs') InEndIPs = (By.NAME, 'InEndIPs') OutIPs = (By.NAME, 'OutIPs') save = (By.ID, 'save') list_InFromIPs = ( '//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') list_InEndIPs = ( '//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[5]/span') list_OutIPs = ('//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[6]/span') edit = (By.XPATH, '//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[8]/span[1]') type_one2one = (By.XPATH, '//input[@name="NatTypes"and@value="2"]') delete = (By.XPATH, '//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[8]/span[2]') ok = (By.ID, 'u-cfm-ok') listtips = ('//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td/div') type_easyIp = (By.XPATH, '//input[@name="NatTypes"and@value="1"]') maxpagenums1 = ('//*[@id="2"]/div/div/div[2]/div/input') # 界面页数框 pageend1 = (By.XPATH, '//*[@id="2"]/div/div/div[2]/div/img[4]') # 跳转最后页 def click_NetworkConfig(self): self.find_element(*self.NetworkConfig).click() logger.info('点击网络配置') def click_portMapping(self): self.find_element(*self.portMapping).click() logger.info('点击端口映射') def click_natRule(self): self.find_element(*self.natRule).click() logger.info('点击nat规则') def click_add(self): self.find_element(*self.add).click() def input_RuleIDs(self, RuleIDs): self.find_element(*self.RuleIDs).clear() self.find_element(*self.RuleIDs).send_keys(RuleIDs) def input_InFromIPs(self, InFromIPs): self.find_element(*self.InFromIPs).clear() self.find_element(*self.InFromIPs).send_keys(InFromIPs) def input_InEndIPs(self, InEndIPs): self.find_element(*self.InEndIPs).clear() self.find_element(*self.InEndIPs).send_keys(InEndIPs) def input_OutIPs(self, OutIPs): self.find_element(*self.OutIPs).clear() self.find_element(*self.OutIPs).send_keys(OutIPs) def click_save(self): self.find_element(*self.save).click() def click_edit(self): self.find_element(*self.edit).click() def click_typeOne2one(self): self.find_element(*self.type_one2one).click() def click_delete(self): self.find_element(*self.delete).click() def click_ok(self): self.find_element(*self.ok).click() def click_typeeasyIp(self): self.find_element(*self.type_easyIp).click() def click_pageend1(self): self.find_element(*self.pageend1).click()
class Organization_userBlackPage(BasePage): blacklistM = getMenu('blacklistM') #黑名单 UserManage = (By.XPATH, '//span[@data-local="{UserManage}"]') blacklist = (By.LINK_TEXT, blacklistM) blicklist_mac = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') delete = (By.XPATH, '//span[@data-primarykey="0"and@event-type="delete"]') ok = (By.ID, 'u-cfm-ok') list_tips = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td/div') add = (By.ID, 'add') bname = (By.NAME, 'username') bmac = (By.NAME, 'filterMac') save = (By.ID, 'save') blicklist_name = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') blicklist_deldte = ( By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span[2]') modalhide = (By.ID, 'modal-hide') deleteB = (By.ID, 'delete') #删除按钮 importB = (By.ID, 'import') exportB = (By.ID, 'export') maxpagenums1 = ('//*[@id="1"]/div/div/div[2]/div/input') # 组1页数框 pageend1 = (By.XPATH, '//*[@id="1"]/div/div/div[2]/div/img[4]') # 跳转最后页 selall = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/thead/tr/th[1]/input') delall = (By.ID, 'delete') tipsshowin = (By.CLASS_NAME, 'tips-show-in') def click_UserManage(self): self.find_element(*self.UserManage).click() logger.info('点击用户管理') def click_blacklist(self): self.find_element(*self.blacklist).click() logger.info('点击黑名单') def click_delete(self): self.find_element(*self.delete).click() def click_ok(self): self.find_element(*self.ok).click() def click_add(self): self.find_element(*self.add).click() def input_bname(self, bname): self.find_element(*self.bname).clear() self.find_element(*self.bname).send_keys(bname) def input_bmac(self, bmac): self.find_element(*self.bmac).clear() self.find_element(*self.bmac).send_keys(bmac) def click_save(self): self.find_element(*self.save).click() def click_modalhide(self): self.find_element(*self.modalhide).click() def find_deleteB(self): self.exist_element(*self.deleteB) def find_importB(self): self.exist_element(*self.importB) def find_exportB(self): self.exist_element(*self.exportB) def click_pageend1(self): self.find_element(*self.pageend1).click() def click_selall(self): self.find_element(*self.selall).click() def click_delall(self): self.find_element(*self.delall).click() def find_ok(self): self.exist_element(*self.ok).click() def find_tipsshowin(self): self.exist_element(*self.tipsshowin)
class APSoftwarePage(BasePage): APsoftwareM = getMenu('APsoftwareM') #软件管理 wirelessExtension = (By.XPATH, '//span[@data-local="{wirelessExtension}"]') #AP软件升级页面 2.6.3 updatesoftware = (By.NAME, 'updatesoftware') uttupdate = (By.ID, 'uttupdate') #AC软件管理页面 APsoftware = (By.LINK_TEXT, APsoftwareM) serach = (By.XPATH, '//input[@data-local="{enterSearchContent}"]') serachB = (By.CLASS_NAME, 'icon-search') list_version1 = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span') list_sel1 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[1]/input') list_sel3 = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[1]/input') upDataLocal = (By.ID, 'upDataLocal') #手动更新 chooseFile = (By.ID, 'chooseFile') demo_upgrade = (By.ID, 'demo_upgrade') ok = (By.ID, 'u-cfm-ok') oks = ('u-cfm-ok') #002 list_selall = (By.XPATH, '//*[@id="1"]/div/div/div[1]/table/thead/tr/th[1]/input') checkUpdata = (By.ID, 'checkUpdata') #检测更新 list_updata1 = (By.XPATH, '//a[@data-primarykey="0"and@id="upData"]') tipsshowin = ('tips-show-in') upData = (By.ID, 'upData') #自动更新 list_status1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[8]') def click_wirelessExtension(self): self.find_element(*self.wirelessExtension).click() logger.info('点击无线扩展') def click_APsoftware(self): self.find_element(*self.APsoftware).click() logger.info('点击软件管理') def input_updatesoftware(self, updatesoftware): self.find_element(*self.updatesoftware).clear() self.find_element(*self.updatesoftware).send_keys(updatesoftware) def click_uttupdate(self): self.find_element(*self.uttupdate).click() def input_serach(self, serach): self.find_element(*self.serach).clear() self.find_element(*self.serach).send_keys(serach) def click_serachB(self): self.find_element(*self.serachB).click() def click_list_sel1(self): self.find_element(*self.list_sel1).click() def click_list_sel3(self): self.find_element(*self.list_sel3).click() def click_upDataLocal(self): self.find_element(*self.upDataLocal).click() def find_upDataLocal(self): self.exist_element(*self.upDataLocal) def click_chooseFile(self): self.find_element(*self.chooseFile).click() def click_demo_upgrade(self): self.find_element(*self.demo_upgrade).click() def click_ok(self): self.find_element(*self.ok).click() def find_ok(self): self.exist_element(*self.ok).click() def click_list_selall(self): self.find_element(*self.list_selall).click() def click_checkUpdata(self): self.find_element(*self.checkUpdata).click() def find_checkUpdata(self): self.exist_element(*self.checkUpdata) def click_list_updata1(self): self.find_element(*self.list_updata1).click() def click_upData(self): self.find_element(*self.upData).click() def find_upData(self): self.exist_element(*self.upData)
class Organization_userStatusPage(BasePage): userstatusM = getMenu('userstatusM') #用户状态 UserManage = (By.XPATH, '//span[@data-local="{UserManage}"]') userstatus = (By.LINK_TEXT, userstatusM) #001 selmanual = ('//*[@id="btns"]/ul/li[1]/select') refreshtable = (By.ID, 'refreshtable') ID = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[2]/span') username = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') group = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') VlanID = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[5]/span') IP = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[6]/span') mac = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span') authmode = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[8]/span') online_time_length = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[10]/span') Uploading_data = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[11]/span') Downing_data = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[12]/span') Uploading_speed = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[13]/span') Downing_speed = ( '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[14]/span') edit = ('//*[@data-primarykey="0"and@id="calldown"]') #002 list_IP1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[6]/span') checkbox1 = (By.XPATH, '//input[@type="checkbox"and@data-primarykey="0"]') move = (By.ID, 'move') save = (By.ID, 'save') #003 list_IP2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[6]/span') search = (By.XPATH, '//*[@class="u-searchbox"]/input') searchb = (By.CLASS_NAME, 'icon-search') list_checkbox1 = ( By.XPATH, '//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[1]/input') Selected_MAC = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span') addToBlackList = (By.ID, 'add-to-black-list') ok = (By.ID, 'u-cfm-ok') calldown = (By.XPATH, '//*[@id="calldown"]') def click_UserManage(self): self.find_element(*self.UserManage).click() logger.info('点击用户管理') def click_userstatus(self): self.find_element(*self.userstatus).click() logger.info('点击用户状态') def click_refreshtable(self): self.find_element(*self.refreshtable).click() def click_checkbox1(self): self.find_element(*self.checkbox1).click() def click_move(self): self.find_element(*self.move).click() def click_save(self): self.find_element(*self.save).click() def input_search(self, search): self.find_element(*self.search).clear() self.find_element(*self.search).send_keys(search) def click_searchb(self): self.find_element(*self.searchb).click() def click_addToBlackList(self): self.find_element(*self.addToBlackList).click() def click_ok(self): self.find_element(*self.ok).click() def click_listCheckbox1(self): self.find_element(*self.list_checkbox1).click() def click_calldown(self): self.find_element(*self.calldown).click() def find_move(self): self.exist_element(*self.move) def find_addToBlackList(self): self.exist_element(*self.addToBlackList)
class DHCPserverpage(BasePage): DHCPserverM = getMenu('DHCPserver') StaticDHCPM = getMenu('StaticDHCP') DHCPClientListM = getMenu('DHCPClientList') globalconfigM = getMenu('globalconfigM') save = (By.ID, 'save') NetworkConfig = (By.XPATH, '//span[@data-local="{netConfig}"]') DHCPserver = (By.LINK_TEXT, DHCPserverM) # DHCP服务器配置 dhcpEn = ('//input[@data-primarykey="0"and@type="checkbox"]') addpool = (By.ID, 'add') poolName = (By.NAME, 'poolName') poolVid = ('poolVid') list_name2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[3]/span') list_name3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[3]/span') list_int2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[5]/span') list_int3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[5]/span') seloption43Type = ('option43Type') list_delpool2 = (By.XPATH, '//span[@data-primarykey="1"and@event-type="delete"]') ok = (By.ID, 'u-cfm-ok') #静态DHCP StaticDHCP = (By.LINK_TEXT, StaticDHCPM) addStatic = (By.XPATH, '//*[@id="2"]/div/div/header/ul[2]/ul/li[1]/button') UserName = (By.NAME, 'UserName') IP = (By.NAME, 'IP') MAC = (By.NAME, 'Mac') list_username = ( '//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[2]/span') list_poolname = ( '//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') list_IP = ('//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') list_MAC = ('//*[@id="2"]/div/div/div[1]/table/tbody/tr[1]/td[5]/span') #客户端列表 DHCPClientList = (By.LINK_TEXT, DHCPClientListM) search = (By.XPATH, '//*[@id="3"]/div/div/header/ul[1]/div[2]/input') #搜索框 searchb = (By.XPATH, '//*[@id="3"]/div/div/header/ul[1]/div[2]/i') # 搜索按钮 list_tips = ('//*[@id="3"]/div/div/div[1]/table/tbody/tr[1]/td/div') selrefreshtime = ('//*[@id="btns"]/ul/li[1]/select') Refresh = (By.XPATH, '//*[@id="3"]/div/div/header/ul[2]/ul/li[2]') listIP = ('//*[@id="3"]/div/div/div[1]/table/tbody/tr[1]/td[1]/span') listmask = ('//*[@id="3"]/div/div/div[1]/table/tbody/tr[1]/td[2]/span') listmac = ('//*[@id="3"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') listLeaseTime = ( '//*[@id="3"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span') #全局配置 GlobalConfig = (By.LINK_TEXT, globalconfigM) dnspEn = (By.XPATH, '//input[@name="dnspEnblw"and@value="on"]') dnspEns = ('//input[@name="dnspEnblw"and@value="on"]') tips = ('pageTip-success') def click_NetworkConfig(self): self.find_element(*self.NetworkConfig).click() logger.info('点击网络配置') def click_DHCPserver(self): self.find_element(*self.DHCPserver).click() logger.info('点击DHCP服务') def click_StaticDHCP(self): self.find_element(*self.StaticDHCP).click() logger.info('点击静态DHCP') def click_add(self): self.find_element(*self.addStatic).click() def input_UserName(self, UserName): self.find_element(*self.UserName).clear() self.find_element(*self.UserName).send_keys(UserName) def input_IP(self, IP): self.find_element(*self.IP).clear() self.find_element(*self.IP).send_keys(IP) def input_MAC(self, MAC): self.find_element(*self.MAC).clear() self.find_element(*self.MAC).send_keys(MAC) def click_save(self): self.find_element(*self.save).click() def clicl_DHCPClientList(self): self.find_element(*self.DHCPClientList).click() def input_search(self, Mac): self.find_element(*self.search).clear() self.find_element(*self.search).send_keys(Mac) def click_searchb(self): self.find_element(*self.searchb).click() def click_GlobalConfig(self): self.find_element(*self.GlobalConfig).click() def click_dnspEn(self): self.find_element(*self.dnspEn).click() def click_addpool(self): self.find_element(*self.addpool).click() def input_poolName(self, poolName): self.find_element(*self.poolName).clear() self.find_element(*self.poolName).send_keys(poolName) def click_Refresh(self): self.find_element(*self.Refresh).click() def click_list_delpool2(self): self.find_element(*self.list_delpool2).click() def click_ok(self): self.find_element(*self.ok).click()
class ElectronicsNoticePage(BasePage): ElectronicsNoticeM = getMenu('ElectronicsNoticeM') BehaviorManagement = (By.XPATH, '//span[@data-local="{BehaviorManagement}"]' ) #行为管理菜单 ElectronicsNotice = (By.LINK_TEXT, ElectronicsNoticeM) # 电子通告菜单 rulename = (By.NAME, 'rulename') swEn = (By.XPATH, '//input[@name="status"and@value="on"]') swEs = ('//input[@name="status"and@value="on"]') save = (By.ID, 'save') swC = (By.XPATH, '//input[@name="status"and@value="off"]') swCs = ('//input[@name="status"and@value="off"]') remarks = (By.NAME, 'remarks') #备注 edipage = (By.ID, 'edipage') #通告页面编辑 NoticePageName = (By.NAME, 'NoticePageName') NoticePageNote = (By.NAME, 'NoticePageNote') NoticePageTitle = (By.NAME, 'NoticePageTitle') SkipUrl = (By.NAME, 'SkipUrl') SkipTime = (By.NAME, 'SkipTime') NoticeBody = (By.NAME, 'NoticeBody') modalhide = (By.ID, 'modal-hide') applyUser = (By.NAME, 'applyUser') userip = (By.XPATH, '//input[@name="applyType"and@value="ip"]') usergroup = (By.XPATH, '//input[@name="applyType"and@value="org"]') userall = (By.XPATH, '//input[@name="applyType"and@value="all"]') saveW1 = (By.XPATH, '//*[@id="modal-applyUser"]/div/div/div[3]/ul/li[1]' ) # 弹窗中的保存 seltime = ('effecttime') # 生效时间 def click_BehaviorManagement(self): self.find_element(*self.BehaviorManagement).click() logger.info('点击行为管理') def click_ElectronicsNotice(self): self.find_element(*self.ElectronicsNotice).click() logger.info('点击电子通告') def input_rulename(self, rulename): self.find_element(*self.rulename).clear() self.find_element(*self.rulename).send_keys(rulename) def click_swEn(self): self.find_element(*self.swEn).click() def click_save(self): self.find_element(*self.save).click() def click_swC(self): self.find_element(*self.swC).click() def input_remarks(self, remarks): self.find_element(*self.remarks).clear() self.find_element(*self.remarks).send_keys(remarks) def click_edipage(self): self.find_element(*self.edipage).click() def click_NoticePageName(self): self.find_element(*self.NoticePageName).click() def input_NoticePageNote(self, NoticePageNote): self.find_element(*self.NoticePageNote).clear() self.find_element(*self.NoticePageNote).send_keys(NoticePageNote) def input_NoticePageTitle(self, NoticePageTitle): self.find_element(*self.NoticePageTitle).clear() self.find_element(*self.NoticePageTitle).send_keys(NoticePageTitle) def input_SkipUrl(self, SkipUrl): self.find_element(*self.SkipUrl).clear() self.find_element(*self.SkipUrl).send_keys(SkipUrl) def input_SkipTime(self, SkipTime): self.find_element(*self.SkipTime).clear() self.find_element(*self.SkipTime).send_keys(SkipTime) def input_NoticeBody(self, NoticeBody): self.find_element(*self.NoticeBody).clear() self.find_element(*self.NoticeBody).send_keys(NoticeBody) def click_modalhide(self): self.find_element(*self.modalhide).click() def click_applyUser(self): self.find_element(*self.applyUser).click() def click_userip(self): self.find_element(*self.userip).click() def click_usergroup(self): self.find_element(*self.usergroup).click() def click_userall(self): self.find_element(*self.userall).click() def click_saveW1(self): self.find_element(*self.saveW1).click()
class NetworkConfig_wanpage(BasePage): wanconfigM = getMenu('wanconfigM') NetworkConfig = (By.XPATH, '//span[@data-local="{netConfig}"]') #外网配置 WANconfig = (By.LINK_TEXT, wanconfigM) line1edit = (By.XPATH, '//*[@data-primarykey="0"and@data-event="edit"]') line2edit = (By.XPATH, '//*[@data-primarykey="1"and@data-event="edit"]') line3edit = (By.XPATH, '//*[@data-primarykey="2"and@data-event="edit"]') line4edit = (By.XPATH, '//*[@data-primarykey="3"and@data-event="edit"]') line5edit = (By.XPATH, '//*[@data-primarykey="4"and@data-event="edit"]') PortName = ('PortName') #接口 # PortNameOptions = (By.TAG_NAME,'option') #接口中option 统计wan口数量 PortNameOptions = ('option') # 接口中option 统计wan口数量 back = (By.ID, 'back') cfm_ok = (By.ID, 'u-cfm-ok') line2delete = (By.XPATH, '//span[@data-primarykey="1"and@event-type="delete"]') line3delete = (By.XPATH, '//span[@data-primarykey="2"and@event-type="delete"]') line4delete = (By.XPATH, '//span[@data-primarykey="3"and@event-type="delete"]') line5delete = (By.XPATH, '//span[@data-primarykey="4"and@event-type="delete"]') line1Type = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[4]/span' ) #wan口连接类型 line2Type = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[4]/span') line3Type = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[4]/span') line4Type = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[4]/span') line5Type = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[4]/span') connectionType = ('connectionType') #连接类型 save = (By.ID, 'save') refresh = (By.XPATH, '//*[@id="otherBtns"]/button[3]') #刷新 refresh_s = (By.XPATH, '//*[@id="otherBtns"]/button') #固定IP线路的刷新 connectState1 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[2]/a' ) #连接状态 connectState2 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[2]/a') connectState3 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[2]/a') connectState4 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[2]/a') connectState5 = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[2]/a') line1IP = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[3]/span') line2IP = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[3]/span') line3IP = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[3]/span') line4IP = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[3]/span') line5IP = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[3]/span') line1gw = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[7]/span') line2gw = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[7]/span') line3gw = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[7]/span') line4gw = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[7]/span') line5gw = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[7]/span') line1Dns = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[9]/span') line2Dns = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[9]/span') line3Dns = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[9]/span') line4Dns = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[9]/span') line5Dns = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[9]/span') line1Mac = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[1]/td[8]/span') line2Mac = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[2]/td[8]/span') line3Mac = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[3]/td[8]/span') line4Mac = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[4]/td[8]/span') line5Mac = ('//*[@id="1"]/div/div/div[1]/table/tbody/tr[5]/td[8]/span') # 固定 staticIp = (By.NAME, 'staticIp') staticGateway = (By.NAME, 'staticGateway') staticPriDns = (By.NAME, 'staticPriDns') refreshstatic = (By.XPATH, '//*[@id="otherBtns"]/button') # 刷新 #002 line_type = ('//*[@id="1"]/table[2]/tbody/tr[1]/td[2]/select' ) #固定为table[2] dhcp为3 ppoe为4 globalconfigM = getMenu('globalconfigM') GlobalConfig = (By.LINK_TEXT, globalconfigM) KeepLive1 = (By.NAME, 'KeepLive1') #检测间隔 KeepLive1v = ('KeepLive1') RetryTimes1 = (By.NAME, 'RetryTimes1') #检测次数 RetryTimes1v = ('RetryTimes1') PriAddrType1 = ('PriAddrType1') #检测目标 DestIP1 = (By.NAME, 'DestIP1') # 检测地址 DestIP1v = ('DestIP1') KeepLive2 = (By.NAME, 'KeepLive2') # 检测间隔 KeepLive2v = ('KeepLive2') RetryTimes2 = (By.NAME, 'RetryTimes2') # 检测次数 RetryTimes2v = ('RetryTimes2') PriAddrType2 = ('PriAddrType2') # 检测目标 DestIP2 = (By.NAME, 'DestIP2') # 检测地址 DestIP2v = ('DestIP2') KeepLive3 = (By.NAME, 'KeepLive3') # 检测间隔 KeepLive3v = ('KeepLive3') RetryTimes3 = (By.NAME, 'RetryTimes3') # 检测次数 RetryTimes3v = ('RetryTimes3') PriAddrType3 = ('PriAddrType3') # 检测目标 DestIP3 = (By.NAME, 'DestIP3') # 检测地址 DestIP3v = ('DestIP3') KeepLive4 = (By.NAME, 'KeepLive4') # 检测间隔 KeepLive4v = ('KeepLive4') RetryTimes4 = (By.NAME, 'RetryTimes4') # 检测次数 RetryTimes4v = ('RetryTimes4') PriAddrType4 = ('PriAddrType4') # 检测目标 DestIP4 = (By.NAME, 'DestIP4') # 检测地址 DestIP4v = ('DestIP4') KeepLive5 = (By.NAME, 'KeepLive5') # 检测间隔 KeepLive5v = ('KeepLive5') RetryTimes5 = (By.NAME, 'RetryTimes5') # 检测次数 RetryTimes5v = ('RetryTimes5') PriAddrType5 = ('PriAddrType5') # 检测目标 DestIP5 = (By.NAME, 'DestIP5') # 检测地址 DestIP5v = ('DestIP5') tipsshowin = ('tips-show-in') ftipsshowin = (By.CLASS_NAME, 'tips-show-in') selPortNumber = ('PortNumber') #wan口数量 PortNumber = (By.NAME, 'PortNumber') #003 PPPoE pppoeUser = (By.NAME, 'pppoeUser') pppoePass = (By.NAME, 'pppoePass') dial = (By.XPATH, '//*[@id="otherBtns"]/button[2]') wanRateseled = ('//*[@id="1"]/table[3]/tbody/tr[7]/td[2]/select/option[1]' ) # 默认协商速率 selwanRate = ('//*[@id="1"]/table[3]/tbody/tr[7]/td[2]/select') #协商速率 line1editmac = (By.XPATH, '//*[@id="1"]/table[3]/tbody/tr[8]/td[2]/input' ) #line1编辑中得mac 接口类型dhcp wan_tips = ('//*[@id="1"]/table[3]/tbody/tr[8]/td[2]/span/span[2]' ) # wan1口mac地址清空保存提示 workMode = ('enabled') #工作模式 pppoeOPMode = ('pppoeOPMode') # 拨号类型 pppoeDailMode = ('pppoeDailMode') # 拨号类型 # 注意这里下拉框select_by_value('0')有问题,使用xpath选择 主备份线路 backline1 = (By.XPATH, '//*[@id="1"]/table[3]/tbody/tr[1]/td[2]/select/option[2]') mainline1 = (By.XPATH, '//*[@id="1"]/table[3]/tbody/tr[1]/td[2]/select/option[1]') txBands2 = (By.NAME, 'txBands2') #上行带宽 rxBands2 = (By.NAME, 'rxBands2') #下行带宽 rMin2 = (By.NAME, 'rMin2') #带宽下限 rMax2 = (By.NAME, 'rMax2') #带宽上限 limitRatio2 = (By.NAME, 'limitRatio2') #限制比 ISPType = (By.NAME, 'ISPType') #运行商 电信 移动 联通 ISPType1 = (By.NAME, 'ISPType1') ISPType2 = (By.NAME, 'ISPType2') #全局配置中的快速转发 FastForwardEnable = ('FastForwardEnable') #模式开关 enable1 = ('//*[@name="FastForwardEnable"]/option[1]') #极速模式1 自动 FastForwardEnableC = (By.NAME, 'FastForwardEnable') FastForwardModeC = (By.NAME, 'FastForwardMode') #转发模式 enable2 = ('//*[@name="FastForwardMode"]/option[2]') # 模式选择 2硬件加速 def click_NetworkConfig(self): self.find_element(*self.NetworkConfig).click() logger.info('点击网络配置') def click_WANconfig(self): self.find_element(*self.WANconfig).click() logger.info('点击外网配置') def click_line1edit(self): self.find_element(*self.line1edit).click() def click_line2edit(self): self.find_element(*self.line2edit).click() def click_line3edit(self): self.find_element(*self.line3edit).click() def click_line4edit(self): self.find_element(*self.line4edit).click() def click_line5edit(self): self.find_element(*self.line5edit).click() # def sel_PortName(self): # self.selName_element(*self.PortName) # def get_PortNameOptions(self): # self.find_element(*self.PortNameOptions) def click_back(self): self.find_element(*self.back).click() def click_cfm_ok(self): self.find_element(*self.cfm_ok).click() def find_cfm_ok(self): self.exist_element(*self.cfm_ok).click() def click_line2delete(self): self.find_element(*self.line2delete).click() def click_line3delete(self): self.find_element(*self.line3delete).click() def click_line4delete(self): self.find_element(*self.line4delete).click() def click_line5delete(self, ): self.find_element(*self.line5delete).click() def find_PortNumber(self): self.exist_element(*self.PortNumber).click() def click_save(self): self.find_element(*self.save).click() def click_refresh(self): self.find_element(*self.refresh).click() def click_refresh_s(self): self.find_element(*self.refresh_s).click() def input_staticIp(self, staticIp): self.find_element(*self.staticIp).clear() self.find_element(*self.staticIp).send_keys(staticIp) def input_staticGateway(self, staticGateway): self.find_element(*self.staticGateway).clear() self.find_element(*self.staticGateway).send_keys(staticGateway) def input_staticPriDns(self, staticPriDns): self.find_element(*self.staticPriDns).clear() self.find_element(*self.staticPriDns).send_keys(staticPriDns) def click_GlobalConfig(self): self.find_element(*self.GlobalConfig).click() def find_GlobalConfig(self): self.exist_element(*self.GlobalConfig).click() def input_KeepLive1(self, KeepLive1): self.find_element(*self.KeepLive1).clear() self.find_element(*self.KeepLive1).send_keys(KeepLive1) def input_RetryTimes1(self, RetryTimes1): self.find_element(*self.RetryTimes1).clear() self.find_element(*self.RetryTimes1).send_keys(RetryTimes1) def input_DestIP1(self, DestIP1): self.find_element(*self.DestIP1).clear() self.find_element(*self.DestIP1).send_keys(DestIP1) def input_KeepLive2(self, KeepLive2): self.find_element(*self.KeepLive2).clear() self.find_element(*self.KeepLive2).send_keys(KeepLive2) def input_RetryTimes2(self, RetryTimes2): self.find_element(*self.RetryTimes2).clear() self.find_element(*self.RetryTimes2).send_keys(RetryTimes2) def input_DestIP2(self, DestIP2): self.find_element(*self.DestIP2).clear() self.find_element(*self.DestIP2).send_keys(DestIP2) def input_KeepLive3(self, KeepLive3): self.find_element(*self.KeepLive3).clear() self.find_element(*self.KeepLive3).send_keys(KeepLive3) def input_RetryTimes3(self, RetryTimes3): self.find_element(*self.RetryTimes3).clear() self.find_element(*self.RetryTimes3).send_keys(RetryTimes3) def input_DestIP3(self, DestIP3): self.find_element(*self.DestIP3).clear() self.find_element(*self.DestIP3).send_keys(DestIP3) def input_KeepLive4(self, KeepLive4): self.find_element(*self.KeepLive4).clear() self.find_element(*self.KeepLive4).send_keys(KeepLive4) def input_RetryTimes4(self, RetryTimes4): self.find_element(*self.RetryTimes4).clear() self.find_element(*self.RetryTimes4).send_keys(RetryTimes4) def input_DestIP4(self, DestIP4): self.find_element(*self.DestIP4).clear() self.find_element(*self.DestIP4).send_keys(DestIP4) def input_KeepLive5(self, KeepLive5): self.find_element(*self.KeepLive5).clear() self.find_element(*self.KeepLive5).send_keys(KeepLive5) def input_RetryTimes5(self, RetryTimes5): self.find_element(*self.RetryTimes5).clear() self.find_element(*self.RetryTimes5).send_keys(RetryTimes5) def input_DestIP5(self, DestIP5): self.find_element(*self.DestIP5).clear() self.find_element(*self.DestIP5).send_keys(DestIP5) def input_pppoeUser(self, pppoeUser): self.find_element(*self.pppoeUser).clear() self.find_element(*self.pppoeUser).send_keys(pppoeUser) def input_pppoePass(self, pppoePass): self.find_element(*self.pppoePass).clear() self.find_element(*self.pppoePass).send_keys(pppoePass) def click_connectState1(self): self.find_element(*self.connectState1).click() def click_dial(self): self.find_element(*self.dial).click() def click_refreshstatic(self): self.find_element(*self.refreshstatic).click() def clear_line1editmac(self): self.find_element(*self.line1editmac).clear() def click_backline1(self): self.find_element(*self.backline1).click() def click_mainline1(self): self.find_element(*self.mainline1).click() def input_txBands2(self, txBands2): self.find_element(*self.txBands2).clear() self.find_element(*self.txBands2).send_keys(txBands2) def input_rxBands2(self, rxBands2): self.find_element(*self.rxBands2).clear() self.find_element(*self.rxBands2).send_keys(rxBands2) def input_rMin2(self, rMin2): self.find_element(*self.rMin2).clear() self.find_element(*self.rMin2).send_keys(rMin2) def input_rMax2(self, rMax2): self.find_element(*self.rMax2).clear() self.find_element(*self.rMax2).send_keys(rMax2) def input_limitRatio2(self, limitRatio2): self.find_element(*self.limitRatio2).clear() self.find_element(*self.limitRatio2).send_keys(limitRatio2) def click_ISPType(self): self.find_element(*self.ISPType).click() def click_ISPType1(self): self.find_element(*self.ISPType1).click() def click_ISPType2(self): self.find_element(*self.ISPType2).click() def find_tipsshowin(self): self.exist_element(*self.ftipsshowin).click() def click_FastForwardEnableC(self): self.find_element(*self.FastForwardEnableC).click() def click_FastForwardModeC(self): self.find_element(*self.FastForwardModeC).click()