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