def test_002_StaticList(self): u'''静态列表显示''' organization_group.import_empty_template(self) # 判断组织架构是否有其他组 有则清空 #新增一个组 organization_group.group_add(self) # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr = socket.gethostbyname(socket.getfqdn(socket.gethostname())) if pcaddr == batSameIP: os.system('%s' % (batpath + 'changeDhcpIp.bat')) time.sleep(5) n = 0 while n < 30: # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr = socket.gethostbyname( socket.getfqdn(socket.gethostname())) print(pcaddr, n) if '192.168.' not in str(pcaddr): time.sleep(2) n += 1 else: print('IP地址已自动获取成功', n) if pcaddr == batSameIP: raise Exception(u'IP地址已经为1.39') break else: raise Exception('未获取到地址') login.loginWeb(self) # admin账号登录 self.driver.implicitly_wait(10) dhcpserver = DHCPserverpage(self.driver, self.url) # 打开网络配置 - DHCP服务 dhcpserver.click_NetworkConfig() time.sleep(0.5) dhcpserver.click_DHCPserver() time.sleep(1) # 对当前PC 进行静态绑定 dhcpserver.click_StaticDHCP() time.sleep(1) #新增(注意add会有多个元素被识别到 这里用绝对路径) dhcpserver.click_add() time.sleep(1) dhcpserver.input_UserName('oneself') dhcpserver.input_IP(pcaddr) dhcpserver.input_MAC(PcMac) #如更换PC 注意修改config.ini中mac地址 dhcpserver.click_save() time.sleep(1) #静态列表显示变量赋值 list_username = dhcpserver.getText_byXpath(dhcpserver.list_username) list_poolname = dhcpserver.getText_byXpath(dhcpserver.list_poolname) list_IP = dhcpserver.getText_byXpath(dhcpserver.list_IP) list_MAC = dhcpserver.getText_byXpath(dhcpserver.list_MAC) #断言 判断列表显示是否正常 self.assertEqual(list_username, 'oneself', msg='列表中用户名显示不一致') self.assertEqual(list_poolname, 'default', msg='列表中 地址池名称 不为default') #默认地址池名称 self.assertEqual(list_IP, pcaddr, msg='列表中IP地址 显示不一致') self.assertEqual(list_MAC, PcMac, msg='列表中MAC地址池显示不一致') self.driver.quit() logger.info('test_002_StaticList passed')
def setUp(self): logger.info('setUp start') login.loginWeb(self) self.driver.implicitly_wait(10) dhcpserver = DHCPserverpage(self.driver,self.url) dhcpserver.click_NetworkConfig() time.sleep(0.5) dhcpserver.click_DHCPserver() time.sleep(1)
def test_005_dnsProxy(self): u'''dns代理可以上网''' baidutitle = getAssertText('baidutitle') # 开dns代理 login.loginWeb(self) # admin账号登录 self.driver.implicitly_wait(10) dhcpserver = DHCPserverpage(self.driver, self.url) dhcpserver.click_NetworkConfig() time.sleep(0.5) dhcpserver.click_DHCPserver() time.sleep(1) dhcpserver.click_GlobalConfig() time.sleep(1) dhcpserver.click_dnspEn() dhcpserver.click_save() time.sleep(1) # 断言 开启提示信息是否有误 tips = str(dhcpserver.getText_byClass(dhcpserver.tips)) time.sleep(1) self.assertEqual(tips, saveSucess, msg='"DNS代理" 开启出错') print('DNS代理 已开启') # 将IP改回自动获取(设置dns为自动获取) # 调用bat脚本 os.system(('%s' % batpath + 'changeDhcpIp.bat')) time.sleep(5) n = 0 while n < 30: # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr = socket.gethostbyname(socket.getfqdn(socket.gethostname())) print(pcaddr, n) if '192.168.' not in str(pcaddr): time.sleep(2) n += 1 else: print('IP地址已自动获取成功', n) break else: raise Exception('未获取到地址') pingTestIP('www.baidu.com') #避免失误 self.driver.get('http://www.baidu.com') time.sleep(2) title3 = self.driver.title print(title3) self.assertEqual(title3, baidutitle, msg='dns代理 无法打开网页') self.driver.quit() logger.info('test_005_dnsProxy passed')
def test_002_option43_MultiPools(self): u'''option43、dhcp多地址池''' dhcpserver = DHCPserverpage(self.driver, self.url) dhcpserver.click_addpool() time.sleep(1) option43Type = dhcpserver.selelement_byName(dhcpserver.seloption43Type) Select(option43Type).select_by_value('0') #0不启用 time.sleep(0.5) Select(option43Type).select_by_value('1') #1 HEX定长 time.sleep(0.5) Select(option43Type).select_by_value('2') #2 ASCII不定长 time.sleep(0.5) Select(option43Type).select_by_value('3') #0 自定义 time.sleep(0.5) self.driver.quit() logger.info('test_002_option43_MultiPools passed')
def test_001_ServerStatus(self): u'''DHCP服务器功能默认开启''' host = gettelnet('host') #即插即用中修改了IP 这里加一个判断联网 pingTestIP() #避免失误 p = pingTestIP() if p == 'N': # 将IP改回自动获取(设置dns为自动获取) # 调用bat脚本 os.system('%s' % (batpath + 'changeDhcpIp.bat')) time.sleep(5) n = 0 while n < 30: # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr = socket.gethostbyname( socket.getfqdn(socket.gethostname())) print(pcaddr, n) if '192.168.' not in str(pcaddr): time.sleep(2) n += 1 else: logger.info(u'IP地址已自动获取成功') break else: raise Exception('未获取到地址') pcaddr = socket.gethostbyname(socket.getfqdn(socket.gethostname())) logger.info(u'IP地址为:%s' % pcaddr) login.loginWeb(self) self.driver.implicitly_wait(10) dhcpserver = DHCPserverpage(self.driver, self.url) # 打开网络配置 - 内网配置 dhcpserver.click_NetworkConfig() time.sleep(0.5) dhcpserver.click_DHCPserver() time.sleep(1) #确认 DHCP服务器功能 是否 默认开启 dhcp_status = dhcpserver.getAttribute_byXpath(dhcpserver.dhcpEn, 'checked') self.assertEqual(str(dhcp_status), 'true', msg='DHCP服务器功能默认未开启') self.driver.quit() logger.info('test_001_ServerStatus passed')
def test_002_DNSProxy(self): u'''DNS Proxy代理、酒店即插即用''' dhcpserver = DHCPserverpage(self.driver, self.url) dhcpserver.click_NetworkConfig() time.sleep(0.5) dhcpserver.click_DHCPserver() time.sleep(1) dhcpserver.click_GlobalConfig() time.sleep(1) switch = str( dhcpserver.getAttribute_byXpath(dhcpserver.dnspEns, 'checked')) self.assertEqual(switch, 'true', msg='dns代理 默认未开启') # 酒店即插即用 lanpage = NetworkConfig_LANpage(self.driver, self.url) lanpage.click_LANconfig() time.sleep(1) lanpage.click_globalconfig() time.sleep(1) switch2 = str( lanpage.getAttribute_byXpath(lanpage.upnpCloseS, 'checked')) self.assertEqual(switch2, 'true', msg='UPNP 默认开启') print('DNS Proxy代理、酒店即插即用 验证通过') # 静态路由 routeconfig = RouteConfigPage(self.driver, self.url) routeconfig.click_Routeconfig() time.sleep(1) routeconfig.click_add() time.sleep(1) routeconfig.click_modalhide() time.sleep(0.5) # #策略路由 # routeconfig.click_PolicyRoute() # time.sleep(1) # routeconfig.click_addPolicy() # time.sleep(1) # routeconfig.click_modalhide() # time.sleep(0.5) self.driver.quit() logger.info('test_002_DNSProxy passed')
def tearDown(self): #删除 dhcpserver = DHCPserverpage(self.driver, self.url) dhcpserver.click_NetworkConfig() time.sleep(0.5) dhcpserver.click_DHCPserver() time.sleep(1) dhcpserver.click_list_delpool2() time.sleep(1) dhcpserver.click_ok() time.sleep(1) lanpage = NetworkConfig_LANpage(self.driver, self.url) lanpage.click_LANconfig() time.sleep(1) lanpage.click_allsel() time.sleep(1) lanpage.click_delete() time.sleep(1) lanpage.click_ok() time.sleep(1) self.driver.quit() logger.info('tearDown over') logger.info('%s' % ('=' * 50))
def test_002_SSIDconfig(self): u'''网络名称设置&加密方式''' APnumP = getParameter('APnumP') Support = getExcelValue(APnumP) login.loginWeb(self) self.driver.implicitly_wait(10) if str(Support).isdigit(): #判断字符串是否为数字 logger.info(u'参数支持AP管理') wirelessTipsA = getAssertText('wirelessTipsA') vlanPortP = getParameter('vlanPortP') Support = getExcelValue(vlanPortP) if Support == '√': # 支持vlan接口 logger.info(u'参数表支持vlan接口') # 进入网络配置-内网配置 配置vlan接口 lanpage = NetworkConfig_LANpage(self.driver, self.url) lanpage.click_NetworkConfig() time.sleep(0.5) lanpage.click_LANconfig() time.sleep(1) #vlan 1000 lanpage.click_add() time.sleep(1) lanpage.input_lanIpName('1000') lanpage.input_lanIp('192.168.10.1') lanpage.input_lanNetmask('255.255.255.0') selsxjk = lanpage.selelement_byName(lanpage.selsxjk) Select(selsxjk).select_by_value('vlanid') time.sleep(1) lanpage.input_dhcpVid('1000') lanpage.click_save() time.sleep(1) # vlan 1999 lanpage.click_add() time.sleep(1) lanpage.input_lanIpName('1999') lanpage.input_lanIp('192.168.100.1') lanpage.input_lanNetmask('255.255.255.0') selsxjk = lanpage.selelement_byName(lanpage.selsxjk) Select(selsxjk).select_by_value('vlanid') time.sleep(1) lanpage.input_dhcpVid('1999') lanpage.click_save() time.sleep(1) #断言 list_name2 = str(lanpage.getText_byXpath(lanpage.list_name2)) list_name3 = str(lanpage.getText_byXpath(lanpage.list_name3)) list_ip2 = str(lanpage.getText_byXpath(lanpage.list_ip2)) list_ip3 = str(lanpage.getText_byXpath(lanpage.list_ip3)) list_vlanid2 = str( lanpage.getText_byXpath(lanpage.list_vlanid2)) list_vlanid3 = str( lanpage.getText_byXpath(lanpage.list_vlanid3)) self.assertEqual(list_name2, '1000', msg='vlan1000名称与设置的不一致') self.assertEqual(list_name3, '1999', msg='vlan1999名称与设置的不一致') self.assertEqual(list_ip2, '192.168.10.1', msg='vlan1000IP与设置的不一致') self.assertEqual(list_ip3, '192.168.100.1', msg='vlan1000IP与设置的不一致') self.assertEqual(list_vlanid2, '1000', msg='vlan1000 ID与设置的不一致') self.assertEqual(list_vlanid3, '1999', msg='vlan1000 ID与设置的不一致') #配置dhcp dhcppage = DHCPserverpage(self.driver, self.url) #1000 dhcppage.click_DHCPserver() time.sleep(1) dhcppage.click_addpool() time.sleep(1) dhcppage.input_poolName('1000') seldhcppool = dhcppage.selelement_byName(dhcppage.poolVid) Select(seldhcppool).select_by_value('VIF1000') time.sleep(1) dhcppage.click_save() time.sleep(1) # 1999 dhcppage.click_DHCPserver() time.sleep(1) dhcppage.click_addpool() time.sleep(1) dhcppage.input_poolName('1999') seldhcppool = dhcppage.selelement_byName(dhcppage.poolVid) Select(seldhcppool).select_by_value('VIF1999') time.sleep(1) dhcppage.click_save() time.sleep(1) # 断言 list_name2 = str(dhcppage.getText_byXpath(dhcppage.list_name2)) list_name3 = str(dhcppage.getText_byXpath(dhcppage.list_name3)) list_int2 = str(dhcppage.getText_byXpath(dhcppage.list_int2)) list_int3 = str(dhcppage.getText_byXpath(dhcppage.list_int3)) self.assertEqual(list_name2, '1000', msg='pool1000名称与设置的不一致') self.assertEqual(list_name3, '1999', msg='pool1999名称与设置的不一致') self.assertEqual(list_int2, '1000', msg='pool1000IP与设置的不一致') self.assertEqual(list_int3, '1999', msg='pool1000IP与设置的不一致') # 配置网络名称 netname = netNamePage(self.driver, self.url) try: self.driver.implicitly_wait(2) netname.click_wirelessExtension() time.sleep(0.5) #网络名称页面的提示 netname.click_netName() except AttributeError or NoSuchElementException: CapPic(self.driver) logger.info(u'软件不支持无线扩展/网络名称,与参数表不符') raise Exception(u'软件不支持无线扩展/网络名称,与参数表不符') else: self.driver.implicitly_wait(10) time.sleep(1) checkOpen = str( netname.getAttribute_byId(netname.checkOpens, 'checktype')) if checkOpen == '0': # 0为关闭,1打开 tips = netname.getText_byClass(netname.u_cfm_boxT) time.sleep(1) self.assertIn(wirelessTipsA, tips, msg='提示信息有误') netname.click_ok() # 点确认开启 time.sleep(3) else: raise Exception('无线扩展默认未关闭') # 断言 开关打开 checkOpen = str( netname.getAttribute_byId(netname.checkOpens, 'checktype')) self.assertEqual(checkOpen, '1', msg='无线扩展默认未关闭') # 0关闭,1打开 # 确认兼容模式按钮默认关闭 ManageProtocols = str( netname.getAttribute_byId(netname.ManageProtocolss, 'checktype')) self.assertEqual(ManageProtocols, '0', msg='兼容模式默认未关闭') # 0关闭,1打开 # 打开兼容模式 netname.click_ManageProtocols() time.sleep(5) ManageProtocols = str( netname.getAttribute_byId(netname.ManageProtocolss, 'checktype')) self.assertEqual(ManageProtocols, '1', msg='兼容模式未打开') # 0关闭,1打开 #判断自动下发是否开启 Auto = str( netname.getAttribute_byXpath(netname.list_autosend1, 'checked')) self.assertEqual(str(Auto), 'true', msg='默认自动下发未开启') # 编辑默认ssid netname.click_list_edit1() time.sleep(1) netname.input_ssid('ssid_1中') netname.click_next_tab() time.sleep(1) selencryType = netname.selelement_byName(netname.encryType) Select(selencryType).select_by_value( '1') # 0不加密 3 WPA-PSK/WPA2-PSK time.sleep(0.3) Select(selencryType).select_by_value('0') time.sleep(0.3) Select(selencryType).select_by_value('2') time.sleep(0.3) Select(selencryType).select_by_value('3') time.sleep(0.5) netname.input_pskPsswd('12345678') netname.click_next_tab() time.sleep(0.5) netname.click_sharelimit() # 共享 netname.input_txBand('1000') netname.input_rxBand('1000') netname.click_save() time.sleep(1) list_ssid1 = str(netname.getText_byXpath(netname.list_ssid1)) self.assertEqual(list_ssid1, 'ssid_1中', msg='ssid1 与设置不一致') # 新增2Gssid netname.click_add() time.sleep(1) netname.input_zoneName('2G') netname.input_ssid('2.4Gz中') netname.click_cli_5g() # 默认全选,点5G=勾掉,剩下2.4G if Support == '√': # 支持vlan接口 selvlanId = netname.selelement_byName( netname.vlanId) # 选vlan接口 Select(selvlanId).select_by_value('1000') time.sleep(1) netname.click_gjxx() # 点开高级选项 time.sleep(0.5) netname.click_broadcastEn() # 隐藏ssid netname.click_isolateEn() # 无线客户端隔离 time.sleep(0.5) netname.click_next_tab() time.sleep(1) selencryType = netname.selelement_byName(netname.encryType) Select(selencryType).select_by_value( '3') # 0不加密 3 WPA-PSK/WPA2-PSK time.sleep(1) netname.input_pskPsswd('12345678') netname.click_next_tab() time.sleep(0.5) netname.input_txBand('1000') netname.input_rxBand('1000') netname.click_save() time.sleep(2) # 断言 开关打开 list_ssid2 = str(netname.getText_byXpath(netname.list_ssid2)) self.assertEqual(list_ssid2, '2.4Gz中', msg='ssid2 与设置不一致') # 新增5Gssid netname.click_add() time.sleep(1) netname.input_zoneName('5G') netname.input_ssid('5Gz中') selSSIDmode = netname.selelement_byName(netname.encodeType) Select(selSSIDmode).select_by_value('0') #0电脑优先 1手机优先 time.sleep(1) netname.click_cli_2g() # 默认全选,点2G=勾掉,剩下5G if Support == '√': # 支持vlan接口 selvlanId = netname.selelement_byName( netname.vlanId) # 选vlan接口 Select(selvlanId).select_by_value('1999') time.sleep(1) netname.click_gjxx() # 点开高级选项 time.sleep(0.5) netname.click_broadcastEn() # 隐藏ssid netname.click_isolateEn() # 无线客户端隔离 time.sleep(0.5) netname.click_next_tab() time.sleep(1) selencryType = netname.selelement_byName(netname.encryType) Select(selencryType).select_by_value( '3') # 0不加密 3 WPA-PSK/WPA2-PSK time.sleep(1) netname.input_pskPsswd('12345678') netname.click_next_tab() time.sleep(0.5) netname.input_txBand('1000') netname.input_rxBand('1000') netname.click_save() time.sleep(1) list_ssid3 = str(netname.getText_byXpath(netname.list_ssid3)) self.assertEqual(list_ssid3, '5Gz中', msg='ssid3 与设置不一致') # 新增默认接口ssid netname.click_add() time.sleep(1) netname.input_zoneName('all') netname.input_ssid('ssid_all中') netname.click_next_tab() time.sleep(0.5) netname.click_next_tab() time.sleep(0.5) netname.click_save() time.sleep(1) # 断言 list_ssid4 = str(netname.getText_byXpath(netname.list_ssid4)) self.assertEqual(list_ssid4, 'ssid_all中', msg='ssid4 与设置不一致') #再新建提示保存成功(ssid数量后续版本做了调整) netname.click_add() time.sleep(1) netname.input_zoneName('5') netname.input_ssid('5') netname.click_next_tab() time.sleep(0.5) netname.click_next_tab() time.sleep(0.5) netname.click_save() time.sleep(1) # 断言 开关打开 list_ssid5 = str(netname.getText_byXpath(netname.list_ssid5)) self.assertEqual(list_ssid5, '5', msg='ssid5 与设置不一致') print('网络名称设置 验证通过') #删除ssid netname.click_selall() time.sleep(0.2) netname.click_sellist1() time.sleep(0.2) netname.click_delete() time.sleep(2) netname.click_ok() time.sleep(1) if Support == '√': # 支持vlan接口 # 删除dhcp dhcppage = DHCPserverpage(self.driver, self.url) dhcppage.click_NetworkConfig() time.sleep(0.5) dhcppage.click_DHCPserver() time.sleep(0.5) dhcppage.click_DHCPserver() time.sleep(1) dhcppage.click_list_delpool2() time.sleep(1) dhcppage.click_ok() time.sleep(1) dhcppage.click_list_delpool2() time.sleep(1) dhcppage.click_ok() time.sleep(1) # 删除vlan接口 lanpage = NetworkConfig_LANpage(self.driver, self.url) lanpage.click_LANconfig() time.sleep(1) lanpage.click_allsel() time.sleep(1) lanpage.click_delete() time.sleep(1) lanpage.click_ok() time.sleep(1) else: logger.info(u'参数不支持AP管理') try: netname = netNamePage(self.driver, self.url) self.driver.implicitly_wait(2) netname.click_wirelessExtension() time.sleep(0.5) netname.click_netName() time.sleep(1) except AttributeError or NoSuchElementException: logger.info(u'软件不支持无线扩展,与参数表相符') else: CapPic(self.driver) logger.info(u'软件支持无线扩展,与参数表不符') raise Exception(u'软件支持无线扩展,与参数表不符') self.driver.quit() logger.info('test_002_SSIDconfig passed')
def test_001_wifi2(self): u'''2.4G无线加密、限速、无线vlan''' #lan lanpage = NetworkConfig_LANpage(self.driver, self.url) lanpage.click_NetworkConfig() time.sleep(0.5) lanpage.click_LANconfig() time.sleep(1) lanpage.click_add() lanpage.input_lanIpName('wifi1') lanpage.input_lanIp('213.1.10.1') selsxjk = lanpage.selelement_byName(lanpage.selsxjk) Select(selsxjk).select_by_value('wifi') lanpage.click_wifiInter1() lanpage.click_save() time.sleep(2) list_name2 = (lanpage.getText_byXpath(lanpage.list_name2)) list_ip2 = (lanpage.getText_byXpath(lanpage.list_ip2)) self.assertEqual(list_name2, 'wifi1', msg='wifi1名称与设置的不一致') self.assertEqual(list_ip2, '213.1.10.1', msg='wifi1 IP与设置的不一致') # dhcp dhcpserver = DHCPserverpage(self.driver, self.url) dhcpserver.click_DHCPserver() time.sleep(1) dhcpserver.click_addpool() time.sleep(1) dhcpserver.input_poolName('wifi1') selpoolVid = dhcpserver.selelement_byName(dhcpserver.poolVid) Select(selpoolVid).select_by_value('wifi1') time.sleep(1) dhcpserver.click_save() time.sleep(2) list_name2 = dhcpserver.getText_byXpath(dhcpserver.list_name2) list_int2 = dhcpserver.getText_byXpath(dhcpserver.list_int2) self.assertEqual(list_name2, 'wifi1', msg='wifi1名称与设置的不一致') self.assertEqual(list_int2, 'wifi1', msg='wifi1 IP与设置的不一致') wifi = BasicConfigPage(self.driver, self.url) wifi.click_wifiConfig() time.sleep(0.5) wifi.click_BasicConfig() time.sleep(1) wifi.click_list_edit1() time.sleep(1) wifi.input_ssid1('test3_2.41') ifName = wifi.selelement_byName(wifi.ifName) Select(ifName).select_by_value('wifi1') wifi.click_securitySet() time.sleep(1) secMode1 = wifi.selelement_byName(wifi.secMode1) Select(secMode1).select_by_value('WPAPSK') time.sleep(0.5) wifi.input_pskPsswd1('123456789') wifi.click_Bandwidthset() time.sleep(1) wifi.input_txBand1('1000') wifi.input_rxBand1('1000') wifi.click_save() time.sleep(1) lsit_ssid1 = wifi.getText_byXpath(wifi.list_ssid1) self.assertEqual(lsit_ssid1, 'test3_2.41', msg='2.4G SSID保存异常') list_wifiInter1 = wifi.getText_byXpath(wifi.list_wifiInter1) self.assertEqual(list_wifiInter1, 'wifi1', msg='2.4G wifi接口保存异常') list_speed1 = wifi.getText_byXpath(wifi.list_speed1) self.assertEqual(list_speed1, '1000/1000', msg='2.4G SSID保存异常') list_wifipwd1 = wifi.getAttribute_byXpath(wifi.list_wifipwd1, 'data-local') self.assertEqual(list_wifipwd1, '123456789', msg='2.4G密码保存异常') time.sleep(13) tn = telnetlib.Telnet(host=host, port=port) #telnet验证 tn.set_debuglevel(5) tn.read_until(b'login:'******'Password:'******'#') if cpumodel == "MTK": tn.write( b'cat /etc/Wireless/RT2860/RT2860.dat | grep -E "SSID1|WPAPSK1"' + b'\n') elif cpumodel == "Qualcomm": tn.write( b'cat /etc/Wireless/wifi0/qca_ath0.dat | grep -E "ssid|key"' + b'\n') # 输出结果,判断 time.sleep(1) result = str(tn.read_very_eager()) # 只会存最后一条命令的结果 print('-------------------输出结果------------------------') # 命令执行结果 print('result:', result) # 判断 if cpumodel == "MTK": if "SSID1=test3_2.41" in result: print('2.4G SSID配置正常') else: raise Exception('2.4G SSID配置异常') if "WPAPSK1=123456789" in result: print('2.4G 密码配置正常') else: raise Exception('2.4G 密码配置异常') elif cpumodel == "Qualcomm": if "ssid=test3_2.41" in result: print('2.4G SSID配置正常') else: raise Exception('2.4G SSID配置异常') if "key=123456789" in result: print('2.4G 密码配置正常') else: raise Exception('2.4G 密码配置异常') tn.close() # tn.write('exit\n') logger.info('test_001_wifi2 passed')
def test_004_releaseIP(self): u'''PC2释放IP,客户端列表显示正确''' # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr = str(socket.gethostbyname(socket.getfqdn( socket.gethostname()))) # 调用bat脚本 MAC地址释放 os.system('%s' % (batpath + 'ipconfig_release.bat')) time.sleep(2) # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr1 = str( socket.gethostbyname(socket.getfqdn(socket.gethostname()))) print(pcaddr1) if pcaddr1 != str(pcaddr): print('IP地址已释放') else: time.sleep(3) # 调用bat脚本 MAC地址修改回 os.system('%s' % (batpath + 'changeMacToBack.bat')) time.sleep(5) n = 0 while n < 30: # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr2 = socket.gethostbyname(socket.getfqdn( socket.gethostname())) print(pcaddr2, n) if '192.168.' not in str(pcaddr2): time.sleep(2) n += 1 else: print('IP地址已自动获取成功', n) break else: # raise Exception('未获取到地址1') # 仅更改mac 可能会获取不到地址 os.system('%s' % (batpath + 'ipconfig_release.bat')) time.sleep(5) os.system('%s' % (batpath + 'ipconfig_renew.bat')) time.sleep(5) i = 0 while i < 30: # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr_new = socket.gethostbyname( socket.getfqdn(socket.gethostname())) print(pcaddr_new, i) if '192.168.' not in str(pcaddr_new): time.sleep(2) i += 1 else: print('IP地址已自动获取成功2', i) break else: raise Exception('未获取到地址2') #登陆页面查看DHCP客户端列表是否还有pc的ip login.loginWeb(self) # admin账号登录 self.driver.implicitly_wait(10) dhcpserver = DHCPserverpage(self.driver, self.url) # 打开网络配置 - 内网配置 dhcpserver.click_NetworkConfig() time.sleep(0.5) dhcpserver.click_DHCPserver() time.sleep(1) dhcpserver.clicl_DHCPClientList() time.sleep(1) # #刷新时间改为手动 # se1 = self.driver.find_element_by_xpath('//*[@id="btns"]/ul/li[1]/select') # time.sleep(1) # Select(se1).select_by_value('manual') # self.driver.find_element_by_xpath('//*[@id="add"and@data-local="刷新"]').click() # time.sleep(1) #输入pc的IP地址来过滤验证断言 dhcpserver.input_search(pcaddr) dhcpserver.click_searchb() time.sleep(1) list_tips = dhcpserver.getText_byXpath(dhcpserver.list_tips) self.assertEqual(list_tips, nodata, msg='DHCP客户端列表不为空') self.driver.quit() logger.info('test_004_releaseIP passed')
def test_001_AllocationAddress(self): u'''动态分配地址、静态地址分配''' MinutesA = getAssertText('MinutesA') dhcpserver = DHCPserverpage(self.driver, self.url) # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr = str(socket.gethostbyname(socket.getfqdn(socket.gethostname()))) # 调用bat脚本 改为DHCP os.system('%s' % (batpath + 'changeDhcpIp.bat')) time.sleep(5) # 调用bat脚本 IP地址释放 os.system('%s' % (batpath + 'ipconfig_release.bat')) time.sleep(2) pcaddr1 = str(socket.gethostbyname(socket.getfqdn(socket.gethostname()))) print(pcaddr1) if pcaddr1 != str(pcaddr): print('IP地址已释放') else: time.sleep(3) time.sleep(2) # 将IP改回自动获取(设置dns为自动获取) # 调用bat脚本 os.system('%s' % (batpath + 'ipconfig_renew.bat')) time.sleep(5) n = 0 while n < 30: # 获取本机ip 默认有线地址,有线断开会显示无线 pcaddr = socket.gethostbyname(socket.getfqdn(socket.gethostname())) print(pcaddr, n) if '192.168.' not in str(pcaddr): time.sleep(2) n += 1 else: print('IP地址已自动获取成功', n) break else: raise Exception('未获取到地址') dhcpserver.clicl_DHCPClientList() time.sleep(3) #刷新改为手动 selrefreshtime = dhcpserver.selelement_byXpath(dhcpserver.selrefreshtime) Select(selrefreshtime).select_by_value('manual') dhcpserver.click_Refresh() time.sleep(0.5) # 定义页面显示元素变量 listIP = str(dhcpserver.getText_byXpath(dhcpserver.listIP)) listmask = str(dhcpserver.getText_byXpath(dhcpserver.listmask)) listmac = str(dhcpserver.getText_byXpath(dhcpserver.listmac)) listLeaseTime = str(dhcpserver.getText_byXpath(dhcpserver.listLeaseTime)) self.assertIn('192.168.', listIP, msg='IP 出错') # lan口地址段 print('DHCP客户端列表 - IP 验证成功') self.assertIn('255.255.255.0', listmask, msg='IP 出错') # 掩码 print('DHCP客户端列表 - 掩码 验证成功') self.assertEqual(len(listmac), 17, msg='mac 出错') # 判断mac地址长度 print('DHCP客户端列表 - mac 验证成功') self.assertIn(MinutesA, listLeaseTime, msg='IP 出错') # 租期时间 print('DHCP客户端列表 - 租期时间 验证成功') print('动态分配地址 验证通过') # 任意绑定一个地址 dhcpserver.click_StaticDHCP() time.sleep(1) dhcpserver.click_add() time.sleep(1) dhcpserver.input_UserName('oneself') dhcpserver.input_IP('123.1.1.1') dhcpserver.input_MAC('1') print('静态地址分配 验证通过') self.driver.quit() logger.info('test_001_AllocationAddress passed')
def test_001_ssidNum(self): u'''网络名称添加''' vlanPortP = getParameter('vlanPortP') Support = getExcelValue(vlanPortP) if Support == '√': #支持vlan接口 logger.info(u'参数表支持vlan接口') lanpage = NetworkConfig_LANpage(self.driver,self.url) # 进入网络配置-外网配置 配置vlan接口 lanpage.click_NetworkConfig() time.sleep(0.5) lanpage.click_LANconfig() time.sleep(1) #vlan 1000 lanpage.click_add() time.sleep(1) lanpage.input_lanIpName('1000') lanpage.input_lanIp('192.168.10.1') lanpage.input_lanNetmask('255.255.255.0') selsxjk = lanpage.selelement_byName(lanpage.selsxjk) Select(selsxjk).select_by_value('vlanid') time.sleep(1) lanpage.input_dhcpVid('1000') lanpage.click_save() time.sleep(1) # vlan 1999 lanpage.click_add() time.sleep(1) lanpage.input_lanIpName('1999') lanpage.input_lanIp('192.168.100.1') lanpage.input_lanNetmask('255.255.255.0') selsxjk = lanpage.selelement_byName(lanpage.selsxjk) Select(selsxjk).select_by_value('vlanid') time.sleep(1) lanpage.input_dhcpVid('1999') lanpage.click_save() time.sleep(1) #断言 list_name2 = (lanpage.getText_byXpath(lanpage.list_name2)) list_name3 = (lanpage.getText_byXpath(lanpage.list_name3)) list_ip2 = (lanpage.getText_byXpath(lanpage.list_ip2)) list_ip3 = (lanpage.getText_byXpath(lanpage.list_ip3)) list_vlanid2 = (lanpage.getText_byXpath(lanpage.list_vlanid2)) list_vlanid3 = (lanpage.getText_byXpath(lanpage.list_vlanid3)) self.assertEqual(list_name2, '1000', msg='vlan1000名称与设置的不一致') self.assertEqual(list_name3, '1999', msg='vlan1999名称与设置的不一致') self.assertEqual(list_ip2, '192.168.10.1', msg='vlan1000IP与设置的不一致') self.assertEqual(list_ip3, '192.168.100.1', msg='vlan1000IP与设置的不一致') self.assertEqual(list_vlanid2, '1000', msg='vlan1000 ID与设置的不一致') self.assertEqual(list_vlanid3, '1999', msg='vlan1000 ID与设置的不一致') #配置dhcp dhcpserver = DHCPserverpage(self.driver,self.url) #1000 dhcpserver.click_DHCPserver() time.sleep(1) dhcpserver.click_addpool() time.sleep(1) dhcpserver.input_poolName('1000') selpoolVid = dhcpserver.selelement_byName(dhcpserver.poolVid) Select(selpoolVid).select_by_value('VIF1000') time.sleep(1) dhcpserver.click_save() time.sleep(2) # 1999 dhcpserver.click_addpool() time.sleep(1) dhcpserver.input_poolName('1999') selpoolVid = dhcpserver.selelement_byName(dhcpserver.poolVid) Select(selpoolVid).select_by_value('VIF1999') time.sleep(1) dhcpserver.click_save() time.sleep(1) # 断言 list_name2 = dhcpserver.getText_byXpath(dhcpserver.list_name2) list_name3 = dhcpserver.getText_byXpath(dhcpserver.list_name3) list_int2 = dhcpserver.getText_byXpath(dhcpserver.list_int2) list_int3 = dhcpserver.getText_byXpath(dhcpserver.list_int3) self.assertEqual(list_name2, '1000', msg='pool1000名称与设置的不一致') self.assertEqual(list_name3, '1999', msg='pool1999名称与设置的不一致') self.assertEqual(list_int2, '1000', msg='pool1000IP与设置的不一致') self.assertEqual(list_int3, '1999', msg='pool1000IP与设置的不一致') # 配置网络名称 netname = netNamePage(self.driver,self.url) netname.click_wirelessExtension() time.sleep(0.5) netname.click_netName() time.sleep(1) checkOpen = str(netname.getAttribute_byId(netname.checkOpens,'checktype')) if checkOpen == '0' : # 0为关闭,1打开 time.sleep(1) netname.click_ok() # 点确认开启 time.sleep(1) checkOpen = str(netname.getAttribute_byId(netname.checkOpens, 'checktype')) self.assertEqual(checkOpen, '1', msg='无线扩展默认未关闭') # 0关闭,1打开 # 编辑默认ssid netname.click_list_edit1() time.sleep(1) netname.input_ssid('ssid_1中') netname.click_next_tab() time.sleep(1) selencryType= netname.selelement_byName(netname.encryType) Select(selencryType).select_by_value('3') # 0不加密 3 WPA-PSK/WPA2-PSK time.sleep(1) netname.input_pskPsswd('12345678') netname.click_next_tab() time.sleep(0.5) netname.input_txBand('1000') netname.input_rxBand('1000') netname.click_save() time.sleep(1) # 断言 开关打开 list_ssid1 = str(netname.getText_byXpath(netname.list_ssid1)) self.assertEqual(list_ssid1, 'ssid_1中', msg='ssid1 与设置不一致') # 新增2Gssid netname.click_add() time.sleep(1) netname.input_zoneName('2G') netname.input_ssid('2.4Gz中') netname.click_cli_5g()#默认全选,点5G=勾掉,剩下2.4G if Support == '√': # 支持vlan接口 selvlanId = netname.selelement_byName(netname.vlanId)# 选vlan接口 Select(selvlanId).select_by_value('1000') time.sleep(1) netname.click_gjxx() #点开高级选项 time.sleep(0.5) netname.click_broadcastEn() #隐藏ssid netname.click_isolateEn() #无线客户端隔离 time.sleep(0.5) netname.click_next_tab() time.sleep(1) selencryType = netname.selelement_byName(netname.encryType) Select(selencryType).select_by_value('3') # 0不加密 3 WPA-PSK/WPA2-PSK time.sleep(1) netname.input_pskPsswd('12345678') netname.click_next_tab() time.sleep(0.5) netname.input_txBand('1000') netname.input_rxBand('1000') netname.click_save() time.sleep(1) # 断言 开关打开 list_ssid2 = str(netname.getText_byXpath(netname.list_ssid2)) self.assertEqual(list_ssid2, '2.4Gz中', msg='ssid2 与设置不一致') # 新增5Gssid netname.click_add() time.sleep(1) netname.input_zoneName('5G') netname.input_ssid('5Gz中') netname.click_cli_2g() # 默认全选,点2G=勾掉,剩下5G if Support == '√': # 支持vlan接口 selvlanId = netname.selelement_byName(netname.vlanId) # 选vlan接口 Select(selvlanId).select_by_value('1999') time.sleep(1) netname.click_gjxx() # 点开高级选项 time.sleep(0.5) netname.click_broadcastEn() # 隐藏ssid netname.click_isolateEn() # 无线客户端隔离 time.sleep(0.5) netname.click_next_tab() time.sleep(1) selencryType = netname.selelement_byName(netname.encryType) Select(selencryType).select_by_value('3') # 0不加密 3 WPA-PSK/WPA2-PSK time.sleep(1) netname.input_pskPsswd('12345678') netname.click_next_tab() time.sleep(0.5) netname.click_sharelimit()#共享 netname.input_txBand('1000') netname.input_rxBand('1000') netname.click_save() time.sleep(1) # 断言 开关打开 list_ssid3 = str(netname.getText_byXpath(netname.list_ssid3)) self.assertEqual(list_ssid3, '5Gz中', msg='ssid3 与设置不一致') # 新增默认接口ssid netname.click_add() time.sleep(1) netname.input_zoneName('all') netname.input_ssid('ssid_all中') netname.click_next_tab() time.sleep(0.5) netname.click_next_tab() time.sleep(0.5) netname.click_save() time.sleep(1) # 断言 list_ssid4 = str(netname.getText_byXpath(netname.list_ssid4)) self.assertEqual(list_ssid4, 'ssid_all中', msg='ssid4 与设置不一致') self.driver.quit() logger.info('test_001_ssidNum passed')