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')