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')
Пример #2
0
    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')