예제 #1
0
    def test_001_information(self):
        u'''默认关闭,网络名称、设备管理页面提示正确'''
        wirelessTipsA = getAssertText('wirelessTipsA')

        netname = netNamePage(self.driver, self.url)
        #网络名称页面的提示
        netname.click_netName()
        time.sleep(1)
        boxtips = netname.getText_byClass(netname.u_cfm_boxT)
        if wirelessTipsA not in boxtips:
            CapPic(self.driver)
            logger.info(u'网络名称页面 无线扩展提示有误')
            raise Exception('网络名称页面 无线扩展提示有误')
        netname.click_u_cfm_nox()  #提示窗右上角×号
        time.sleep(1)

        #确认按钮默认关闭
        checkOpens = netname.getAttribute_byId(netname.checkOpens, 'checktype')
        self.assertEqual(checkOpens, '0', msg='无限扩展默认未关闭')  #0关闭,1打开

        # 设备管理页面的提示
        device = deviceMgmtPage(self.driver, self.url)
        device.click_deviceMgmt()
        time.sleep(1)
        boxtips = netname.getText_byClass(netname.u_cfm_boxT)
        if wirelessTipsA not in boxtips:
            CapPic(self.driver)
            logger.info(u'设备管理页面 无线扩展提示有误')
            raise Exception('设备管理页面 无线扩展提示有误')
        device.click_no()  #取消按钮
        time.sleep(1)
        self.driver.quit()

        logger.info('test_001_information passed')
예제 #2
0
    def test_002_close(self):
        u'''关闭负载均衡'''
        v1APname = getweb('v1APname')
        port = gettelnet('port')
        username = bytes(getweb('User'), encoding="utf8")
        password = bytes(getweb('Passwd'), encoding="utf8")
        device = deviceMgmtPage(self.driver, self.url)
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(1)
        device.input_search(v1APname)
        device.click_searchB()
        list_ip1 = device.getText_byXpath(device.list_IP1)

        load = loadBalancingPage(self.driver, self.url)
        load.click_loadBalancing()
        time.sleep(1)
        load.click_checkOpen()
        time.sleep(1)
        checkOpens = load.getAttribute_byId(load.checkOpens, 'checktype')
        self.assertEqual(checkOpens, '0', msg='负载均衡 关闭失败')
        time.sleep(8)

        tn = telnetlib.Telnet(host=list_ip1, port=port)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'iwpriv ra0 get Config | grep uttMaxStaNum' + b'\n')  # 无线隔离
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        # print('result:', result)
        # 判断
        if "uttMaxStaNum:       32" in result:
            logger.info('负载均衡关闭 AP资源数正常')
        else:
            logger.info('负载均衡关闭 AP资源数异常')
            logger.info('result:', result)
            raise Exception('负载均衡关闭 AP资源数异常')
        tn.close()  # tn.write('exit\n')

        self.driver.quit()
        logger.info('test_002_close passed')
예제 #3
0
    def test_001_APconfig(self):
        u'''AP配置管理'''
        wirelessTipsA = getAssertText('wirelessTipsA')
        OnlineA = getAssertText('OnlineA')
        Support5GAP = getweb('Support5GAP')  #环境中支持5G的AP
        login.loginWeb(self)
        self.driver.implicitly_wait(10)
        # 先进入网络名称 判断无线扩展是否打开
        netname = netNamePage(self.driver, self.url)
        # print(Support)
        if str(Support).isdigit():  #判断字符串是否为数字
            logger.info(u'参数支持AP管理')
            try:
                self.driver.implicitly_wait(2)
                netname.click_wirelessExtension()
                time.sleep(0.5)
                netname.click_netName()
                time.sleep(1)
            except AttributeError or NoSuchElementException:
                CapPic(self.driver)
                logger.info(u'软件不支持无线扩展/网络名称,与参数表不符')
                raise Exception(u'软件不支持无线扩展/网络名称,与参数表不符')
            else:
                logger.info(u'软件支持无线扩展,与参数表相符')
                self.driver.implicitly_wait(10)
                checkOpen = str(
                    netname.getAttribute_byId(netname.checkOpens, 'checktype'))
                ManageProtocols = str(
                    netname.getAttribute_byId(netname.ManageProtocolss,
                                              '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(30)  #等AP上线 时间久一点
                else:
                    time.sleep(5)  # 002中打开 等待时间稍短一些
                if ManageProtocols == '0':  # 0为关闭,1打开
                    netname.click_ManageProtocols()  # 开启
                    time.sleep(10)  #等v1AP上线
                # 断言 开关打开
                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, '1', msg='兼容模式未打开')
                #进入设备管理
                device = deviceMgmtPage(self.driver, self.url)
                device.click_deviceMgmt()
                time.sleep(1)
                #判断AP已正常上线
                x = 0
                while x < 120:
                    device.click_refreshtable()
                    time.sleep(1)
                    list_status1 = device.getText_byXpath(device.list_status1)
                    list_status2 = device.getText_byXpath(device.list_status2)
                    list_status3 = device.getText_byXpath(device.list_status3)
                    list_status4 = device.getText_byXpath(device.list_status4)
                    print(list_status1, list_status2, list_status3,
                          list_status4, x)
                    if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                        print('4台AP均在线', x)
                        channel1 = str(
                            device.getAttribute_byXpath(
                                device.list_channel1, 'data-local'))
                        channel2 = str(
                            device.getAttribute_byXpath(
                                device.list_channel2, 'data-local'))
                        channel3 = str(
                            device.getAttribute_byXpath(
                                device.list_channel3, 'data-local'))
                        channel4 = str(
                            device.getAttribute_byXpath(
                                device.list_channel4, 'data-local'))
                        print('channel1=', channel1, 'channel2=', channel2,
                              'channel3=', channel3, 'channel4=', channel4, x)
                        if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                            print('4台AP2.4G无线接口已同步', x)
                            break
                        else:
                            time.sleep(3)
                    else:
                        time.sleep(3)
                    x = x + 1
                else:
                    raise Exception('AP  未能同步2.4G无线接口')

                #需选择一个同时支持2.4G 5G的AP 并搜索
                device.input_search(Support5GAP)
                device.click_searchB()
                time.sleep(1)
                device.click_list_name1()
                time.sleep(0.5)
                device.input_list_namein1('1')
                time.sleep(0.5)
                device.find_list_nameS1()
                #2.4G 信道
                device.click_list_channel1c()
                time.sleep(0.5)
                select_2 = device.selelement_byXpath(device.selchannel2_1)
                Select(select_2).select_by_value('1')
                time.sleep(0.2)
                Select(select_2).select_by_value('2')
                time.sleep(0.2)
                Select(select_2).select_by_value('3')
                time.sleep(0.2)
                Select(select_2).select_by_value('4')
                time.sleep(0.2)
                Select(select_2).select_by_value('5')
                time.sleep(0.2)
                Select(select_2).select_by_value('6')
                time.sleep(0.2)
                Select(select_2).select_by_value('7')
                time.sleep(0.2)
                Select(select_2).select_by_value('8')
                time.sleep(0.2)
                Select(select_2).select_by_value('9')
                time.sleep(0.2)
                Select(select_2).select_by_value('10')
                time.sleep(0.2)
                Select(select_2).select_by_value('11')
                time.sleep(0.2)
                Select(select_2).select_by_value('auto')
                time.sleep(0.2)
                device.find_selchannel2S_1()
                #5G
                device.click_list_channel51c()
                time.sleep(0.5)
                select_5 = device.selelement_byXpath(device.selchannel5_1)
                Select(select_5).select_by_value('36')
                time.sleep(0.2)
                Select(select_5).select_by_value('40')
                time.sleep(0.2)
                Select(select_5).select_by_value('44')
                time.sleep(0.2)
                Select(select_5).select_by_value('48')
                time.sleep(0.2)
                Select(select_5).select_by_value('149')
                time.sleep(0.2)
                Select(select_5).select_by_value('153')
                time.sleep(0.2)
                Select(select_5).select_by_value('157')
                time.sleep(0.2)
                Select(select_5).select_by_value('161')
                time.sleep(0.2)
                Select(select_5).select_by_value('165')
                time.sleep(0.2)
                Select(select_5).select_by_value('auto')
                time.sleep(0.2)
                device.find_selchannel5S_1()
                #漫游阈值
                device.click_deviceMgmt()
                time.sleep(1)
                device.click_list_mangement1()
                time.sleep(2)
                device.click_modifyPw()  #修改密码
                time.sleep(0.2)
                device.click_roamingSet()
                time.sleep(0.5)
                # rpaming_en_2G = str(device.getAttribute_byXpath(device.roaming_cs,'checked'))
                # self.assertEqual(rpaming_en_2G,'true',msg='2.4G漫游阈值 默认未关闭')
                device.click_roaming_en()
                time.sleep(0.5)
                device.input_roaming_th('-80')
                time.sleep(0.2)
                # rpaming_en_5G = str(device.getAttribute_byXpath(device.roaming_c5s,'checked'))
                # self.assertEqual(rpaming_en_5G, 'true', msg='5G漫游阈值 默认未关闭')
                device.click_roaming_en5()
                time.sleep(0.5)
                device.input_roaming_th5('-80')
                time.sleep(0.2)
                device.click_modal_hide()
                time.sleep(1)
                #重启
                device.find_list_reboot1()
                #批量管理
                device.click_list_sel1()
                device.click_BatchManagement()
                time.sleep(2)
                #射频模板
                spmb = device.selelement_byName(device.spmb)
                Select(spmb).select_by_value('default2')
                time.sleep(0.2)
                Select(spmb).select_by_value('default1')
                time.sleep(0.2)
                Select(spmb).select_by_value('default3')
                time.sleep(0.2)
                #网络名称
                device.click_ssidM()
                time.sleep(1)
                device.click_list_selwn1()
                device.click_selall_w()
                device.find_sendToApM()
                #系统设置
                device.click_Syssetup()
                time.sleep(1)
                device.click_TaskS_En()  #计划任务
                time.sleep(0.2)
                device.click_TaskS_C()
                time.sleep(0.2)
                device.click_sleepMode_En()  # 睡眠模式
                time.sleep(0.2)
                device.click_sleepMode_C()
                time.sleep(0.2)
                # 配置重启
                device.click_configreboot()
                time.sleep(0.5)
                device.find_restart()
                device.find_factory_reset()
                device.click_close()
                time.sleep(0.5)
                #备份配置
                device.click_backupconfig()
                time.sleep(1)
                device.find_allDelete()
                device.find_backup()
                device.find_uploadBackup()
                #软件升级
                apsoftware = APSoftwarePage(self.driver, self.url)
                apsoftware.click_APsoftware()
                time.sleep(1)
                apsoftware.find_checkUpdata()
                apsoftware.find_upData()
                apsoftware.find_upDataLocal()
        else:
            logger.info(u'参数不支持AP管理')
            try:
                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_001_APconfig passed')
예제 #4
0
 def test_000_makeconfig(self):
     u'''对AP进行操作,谨防AP恢复后没有配置文件生成'''
     # 在恢复出厂后 未对V1 AP操作 会没有V1对应AP的配置文件生成(主要是针对v1 AP ,这里直接修改设备名称)
     # 003中 重启和恢复出厂有引用test_001_configlist 所以单独出来,不放在001中
     OnlineA = getAssertText('OnlineA')
     login.loginWeb(self)
     self.driver.implicitly_wait(10)
     configlist = deviceMgmtPage(self.driver, self.url)
     configlist.click_wirelessExtension()
     time.sleep(0.5)
     configlist.click_deviceMgmt()
     time.sleep(1)
     x = 0
     while x < 100:
         configlist.click_refreshtable()
         time.sleep(1)
         list_status1 = configlist.getText_byXpath(configlist.list_status1)
         list_status2 = configlist.getText_byXpath(configlist.list_status2)
         list_status3 = configlist.getText_byXpath(configlist.list_status3)
         list_status4 = configlist.getText_byXpath(configlist.list_status4)
         print(list_status1, list_status2, list_status3, list_status4, x)
         if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
             print('4台AP均在线', x)
             channel1 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel1,
                                                 'data-local'))
             channel2 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel2,
                                                 'data-local'))
             channel3 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel3,
                                                 'data-local'))
             channel4 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel4,
                                                 'data-local'))
             print('channel1=', channel1, 'channel2=', channel2,
                   'channel3=', channel3, 'channel4=', channel4, x)
             if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                 print('4台AP2.4G无线接口已同步', x)
                 break
             else:
                 time.sleep(3)
         else:
             time.sleep(3)
         x = x + 1
     else:
         raise Exception('AP  未能同步2.4G无线接口')
     #操作AP 修改AP名称
     configlist.click_list_name1()
     time.sleep(0.5)
     configlist.input_list_namein1('1')
     time.sleep(0.5)
     configlist.click_list_nameS1()
     time.sleep(8)
     name_save1 = str(
         configlist.getAttribute_byXpath(configlist.list_name1s,
                                         'data-local'))
     self.assertEqual(name_save1, '1', msg='V2 AP1名称修改出错')
     configlist.click_list_name2()
     time.sleep(0.5)
     configlist.input_list_namein2('1')
     time.sleep(0.5)
     configlist.click_list_nameS2()
     time.sleep(8)
     name_save2 = str(
         configlist.getAttribute_byXpath(configlist.list_name2s,
                                         'data-local'))
     self.assertEqual(name_save2, '1', msg='V2 AP1名称修改出错')
     configlist.click_list_name3()
     time.sleep(0.5)
     configlist.input_list_namein3('1')
     time.sleep(0.5)
     configlist.click_list_nameS3()
     time.sleep(8)
     name_save3 = str(
         configlist.getAttribute_byXpath(configlist.list_name3s,
                                         'data-local'))
     self.assertEqual(name_save3, '1', msg='V1 AP1名称修改出错')
     configlist.click_list_name4()
     time.sleep(0.5)
     configlist.input_list_namein4('1')
     time.sleep(0.5)
     configlist.click_list_nameS4()
     time.sleep(8)
     name_save4 = str(
         configlist.getAttribute_byXpath(configlist.list_name4s,
                                         'data-local'))
     self.assertEqual(name_save4, '1', msg='V1 AP2名称修改出错')
     time.sleep(5)  #等待AP的配置文件生成
     self.driver.quit()
     logger.info('test_000_makeconfig passed')
예제 #5
0
    def test_002_configOperation(self):
        u'''配置文件导入、删除、导出'''
        apconfig_gz = getAssertText('apconfig_gz')
        apconfig_gz3 = getAssertText('apconfig_gz3')
        path_gz = os.path.dirname(os.path.abspath('.')) + '/tmp/'
        batpath = os.path.dirname(os.path.abspath('.')) + '/script/'
        nodata = getAssertText('nodata')
        # 先删除AP配置文件路径中的 apUpdateConf开头 的gz文件
        call_Firefox.del_apconfig_gz(self)
        # 调用Firefox 导出组织架构
        call_Firefox.Firefox_login_web(self)
        self.driver.implicitly_wait(10)
        device = deviceMgmtPage(self.driver, self.url)
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(1)
        # 配置文件列表中 4个在线AP的配置信息
        APseq1 = device.getText_byXpath(device.list_seq1)
        APseq2 = device.getText_byXpath(device.list_seq2)
        APseq3 = device.getText_byXpath(device.list_seq3)
        APseq4 = device.getText_byXpath(device.list_seq4)
        APModel1 = device.getText_byXpath(device.list_modes1)
        APModel2 = device.getText_byXpath(device.list_modes2)
        APmodel3 = device.getText_byXpath(device.list_modes3)
        APModel4 = device.getText_byXpath(device.list_modes4)
        configlist = deviceMgmtPage(self.driver, self.url)
        configlist.click_backupconfig()
        time.sleep(1)
        # 导出AP配置
        configlist.click_backup()
        time.sleep(1)
        configlist.click_ok()
        time.sleep(2)

        # 进行配置文件命名修改
        sys.path.append(r'%s' % path_gz)
        files = os.listdir(
            r'%s' % path_gz)  # os.listdir(path) 返回path指定的文件夹包含的文件或文件夹的名字的列表
        # 通过文件名称判断 修改为指定的文件名
        for filename in files:
            portion = os.path.splitext(filename)  # splitext()用于返回 文件名和扩展名 元组
            # print(portion2)
            if apconfig_gz in str(portion[0]):  # 如果文件名种包含"组织成员20"
                if portion[1] == '.gz':  # 如果后缀是 .gz
                    newname = apconfig_gz3 + '.gz'
                    # 重新组合文件名和后缀名,直接修改名称的话 程序和文件必须在一个目录下
                    filenamedir = (r'%s' % path_gz) + filename
                    newnamedir = (r'%s' % path_gz) + newname
                    # 修改文件名称(与autoIt上传脚本中上传的文件名称一致)
                    os.rename(filenamedir, newnamedir)
        # print(newname)
        self.driver.quit()
        print('AP配置 - 备份 验证成功')
        #删除AP配置
        login.loginWeb2(self)  # admin账号登录
        self.driver.implicitly_wait(10)
        configlist = deviceMgmtPage(self.driver, self.url)
        configlist.click_wirelessExtension()
        time.sleep(0.5)
        configlist.click_deviceMgmt()
        time.sleep(1)
        configlist.click_backupconfig()
        time.sleep(1)
        # 全选 删除AP配置
        while 1 > 0:
            configlist.click_selall_b()
            time.sleep(0.2)
            configlist.click_allDelete()
            time.sleep(1)
            configlist.click_ok()
            time.sleep(3)
            try:
                self.driver.implicitly_wait(2)
                configlist.find_listback_nodata()
            except NoSuchElementException:
                print('AP配置未删除完 继续删除')
            else:
                tips = str(
                    configlist.getText_byXpath(configlist.listback_nodata))
                self.assertEqual(tips, nodata, msg='AP配置删除后列表提示信息有误')
                break
        self.driver.implicitly_wait(10)
        print('AP配置 删除验证通过')
        time.sleep(2)
        #导入AP配置
        configlist.click_uploadBackup()
        time.sleep(1)
        configlist.click_chooseFile()
        time.sleep(1)
        # 调用autoIt脚本上传组的cvs文件
        os.system('%s' % (batpath + 'SE_APconfig_import.exe'))
        time.sleep(2)
        configlist.click_demo_id()
        time.sleep(3)
        configlist.input_searchBack(APseq1)
        configlist.click_searchBackb()
        time.sleep(1)
        try:
            list_seqnum = str(
                configlist.getText_byXpath(configlist.bconfigseq1))
            self.assertEqual(list_seqnum, APseq1, msg='seqnum1 序列号不一致')
            list_model = str(
                configlist.getText_byXpath(configlist.bconfigmodel1))
            self.assertEqual(list_model, APModel1, msg='model1 型号不一致')
            configlist.input_searchBack(APseq2)
            configlist.click_searchBackb()
            time.sleep(1)
            list_seqnum = str(
                configlist.getText_byXpath(configlist.bconfigseq1))
            self.assertEqual(list_seqnum, APseq2, msg='seqnum2 序列号不一致')
            list_model = str(
                configlist.getText_byXpath(configlist.bconfigmodel1))
            self.assertEqual(list_model, APModel2, msg='model2 型号不一致')
        except NoSuchElementException:
            logger.info(u'v2AP配置文件不存在')
            CapPic(self.driver)
            raise Exception(u'v2AP配置文件不存在')
        configlist.input_searchBack(APseq3)
        configlist.click_searchBackb()
        time.sleep(1)
        try:
            list_seqnum = str(
                configlist.getText_byXpath(configlist.bconfigseq1))
            self.assertEqual(list_seqnum, APseq3, msg='seqnum3 序列号不一致')
            list_model = str(
                configlist.getText_byXpath(configlist.bconfigmodel1))
            self.assertEqual(list_model, APmodel3, msg='model3 型号不一致')
            configlist.input_searchBack(APseq4)
            configlist.click_searchBackb()
            time.sleep(1)
            list_seqnum = str(
                configlist.getText_byXpath(configlist.bconfigseq1))
            self.assertEqual(list_seqnum, APseq4, msg='seqnum4 序列号不一致')
            list_model = str(
                configlist.getText_byXpath(configlist.bconfigmodel1))
            self.assertEqual(list_model, APModel4, msg='mode4 型号不一致')
        except NoSuchElementException:
            logger.info(u'v1AP配置文件不存在')
            CapPic(self.driver)
            raise Exception(u'v1AP配置文件不存在')
        print('导入AP配置正常')
        self.driver.quit()
        logger.info('test_002_configOperation passed')
예제 #6
0
 def test_001_configlist(self):
     u'''配置文件列表显示'''
     OnlineA = getAssertText('OnlineA')
     login.loginWeb(self)
     self.driver.implicitly_wait(10)
     netname = netNamePage(self.driver, self.url)
     netname.click_wirelessExtension()
     time.sleep(0.5)
     netname.click_netName()
     time.sleep(1)
     try:
         self.driver.implicitly_wait(3)
         netname.find_ok()
     except NoSuchElementException:
         pass
     else:
         print('打开无线扩展,等待AP上线')
         time.sleep(5)
         ManageProtocol = netname.getAttribute_byId(
             netname.ManageProtocolss, 'checktype')
         if ManageProtocol == '0':  # 1为打开 0为关闭 开启兼容模式
             netname.click_ManageProtocols()
         print('打开兼容模式,等待AP上线')
         time.sleep(70)
     self.driver.implicitly_wait(10)
     configlist = deviceMgmtPage(self.driver, self.url)
     configlist.click_deviceMgmt()
     time.sleep(5)
     # 确认在线AP序列号,确认配置文件列表中包含有对应ap的配置文件
     # 先确认AP在线
     x = 0
     while x < 100:
         configlist.click_refreshtable()
         time.sleep(1)
         list_status1 = configlist.getText_byXpath(configlist.list_status1)
         list_status2 = configlist.getText_byXpath(configlist.list_status2)
         list_status3 = configlist.getText_byXpath(configlist.list_status3)
         list_status4 = configlist.getText_byXpath(configlist.list_status4)
         print(list_status1, list_status2, list_status3, list_status4, x)
         if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
             print('4台AP均在线', x)
             channel1 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel1,
                                                 'data-local'))
             channel2 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel2,
                                                 'data-local'))
             channel3 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel3,
                                                 'data-local'))
             channel4 = str(
                 configlist.getAttribute_byXpath(configlist.list_channel4,
                                                 'data-local'))
             print('channel1=', channel1, 'channel2=', channel2,
                   'channel3=', channel3, 'channel4=', channel4, x)
             if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                 print('4台AP2.4G无线接口已同步', x)
                 break
             else:
                 time.sleep(3)
         else:
             time.sleep(3)
         x = x + 1
     else:
         raise Exception('AP  未能同步2.4G无线接口')
     #确认AP序列号
     APseq1 = configlist.getText_byXpath(configlist.list_seq1)
     APseq2 = configlist.getText_byXpath(configlist.list_seq2)
     APseq3 = configlist.getText_byXpath(configlist.list_seq3)
     APseq4 = configlist.getText_byXpath(configlist.list_seq4)
     APModel1 = configlist.getText_byXpath(configlist.list_modes1)
     APModel2 = configlist.getText_byXpath(configlist.list_modes2)
     APmodel3 = configlist.getText_byXpath(configlist.list_modes3)
     APModel4 = configlist.getText_byXpath(configlist.list_modes4)
     configlist.click_backupconfig()
     time.sleep(1)
     configlist.input_searchBack(APseq1)
     configlist.click_searchBackb()
     time.sleep(1)
     try:
         list_seqnum = str(
             configlist.getText_byXpath(configlist.bconfigseq1))
         self.assertEqual(list_seqnum, APseq1, msg='seqnum1 序列号不一致')
         list_model = str(
             configlist.getText_byXpath(configlist.bconfigmodel1))
         self.assertEqual(list_model, APModel1, msg='model1 型号不一致')
         configlist.input_searchBack(APseq2)
         configlist.click_searchBackb()
         time.sleep(1)
         list_seqnum = str(
             configlist.getText_byXpath(configlist.bconfigseq1))
         self.assertEqual(list_seqnum, APseq2, msg='seqnum2 序列号不一致')
         list_model = str(
             configlist.getText_byXpath(configlist.bconfigmodel1))
         self.assertEqual(list_model, APModel2, msg='model2 型号不一致')
     except NoSuchElementException:
         logger.info(u'v2AP配置文件不存在')
         CapPic(self.driver)
         raise Exception(u'v2AP配置文件不存在')
     configlist.input_searchBack(APseq3)
     configlist.click_searchBackb()
     time.sleep(1)
     try:
         list_seqnum = str(
             configlist.getText_byXpath(configlist.bconfigseq1))
         self.assertEqual(list_seqnum, APseq3, msg='seqnum3 序列号不一致')
         list_model = str(
             configlist.getText_byXpath(configlist.bconfigmodel1))
         self.assertEqual(list_model, APmodel3, msg='model3 型号不一致')
         configlist.input_searchBack(APseq4)
         configlist.click_searchBackb()
         time.sleep(1)
         list_seqnum = str(
             configlist.getText_byXpath(configlist.bconfigseq1))
         self.assertEqual(list_seqnum, APseq4, msg='seqnum4 序列号不一致')
         list_model = str(
             configlist.getText_byXpath(configlist.bconfigmodel1))
         self.assertEqual(list_model, APModel4, msg='mode4 型号不一致')
     except NoSuchElementException:
         logger.info(u'v1AP配置文件不存在')
         CapPic(self.driver)
         raise Exception(u'v1AP配置文件不存在')
     self.driver.quit()
     logger.info('test_001_configlist passed')
예제 #7
0
    def test_001_ManualUpgrade(self):
        u'''手动升级'''
        v2APname = getweb('v2APname')
        v2APoldversion = getweb('v2APoldversion')
        v2APnewversion = getweb('v2APnewversion')
        v1APname = getweb('v1APname')
        v1APoldversion = getweb('v1APoldversion')
        v1APnewversion = getweb('v1APnewversion')
        WillReboottips = getAssertText('WillReboottips')
        OnlineA = getAssertText('OnlineA')
        tmppath = os.path.dirname(os.path.abspath('.')) + '/script/'
        batpath = os.path.dirname(os.path.abspath('.')) + '/script/'

        #等待AP上线
        device = deviceMgmtPage(self.driver, self.url)
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(1)
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            list_status2 = device.getText_byXpath(device.list_status2)
            list_status3 = device.getText_byXpath(device.list_status3)
            list_status4 = device.getText_byXpath(device.list_status4)
            print(list_status1, list_status2, list_status3, list_status4, x)
            if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                print('4台AP均在线', x)
                channel1 = str(
                    device.getAttribute_byXpath(device.list_channel1,
                                                'data-local'))
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel2,
                                                'data-local'))
                channel3 = str(
                    device.getAttribute_byXpath(device.list_channel3,
                                                'data-local'))
                channel4 = str(
                    device.getAttribute_byXpath(device.list_channel4,
                                                'data-local'))
                print('channel1=', channel1, 'channel2=', channel2,
                      'channel3=', channel3, 'channel4=', channel4, x)
                if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                    print('4台AP2.4G无线接口已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('AP  未能同步2.4G无线接口')
        time.sleep(10)
        #先将WA3000N & WA2520N 单独页面降级
        device.input_search(v2APname)
        device.click_searchB()
        time.sleep(1)
        v2_ip1 = str(device.getText_byXpath(device.list_IP1))
        passurl_v2 = 'http://*****:*****@' + v2_ip1 + '/SoftwareUpdate.asp'  # 在URL里面直接加入用户名和密码
        pathv2 = tmppath + v2APoldversion + '.bin'
        device.input_search(v1APname)
        device.click_searchB()
        time.sleep(1)
        v1_ip4 = str(device.getText_byXpath(device.list_IP1))
        passurl_v1 = 'http://*****:*****@' + v1_ip4 + '/SoftwareUpdate.asp'  # 在URL里面直接加入用户名和密码
        pathv1 = tmppath + v1APoldversion + '.bin'

        # V2降级
        # 新开一个窗口,通过执行js来新开一个窗口
        js = 'window.open("%s");' % passurl_v2
        self.driver.execute_script(js)
        route_handles = self.driver.current_window_handle
        # print('route_handles:',route_handles)  # 输出当前窗口句柄(路由)
        all_handles = self.driver.window_handles  # 获取当前窗口句柄集合(列表类型)
        # print(all_handles)  # 输出句柄集合

        for handle in all_handles:  # 切换窗口(切换到v2)
            if handle != route_handles:
                print('switch to '), handle
                self.driver.switch_to_window(handle)
                v2_handles = self.driver.current_window_handle
                # print('v2_handles:',v2_handles)  # 输出当前窗口句柄(v2)
                break
        try:
            self.driver.get(passurl_v2)
            self.driver.set_page_load_timeout(5)  # selenium超时设置/等待时间过长自动停止
        except TimeoutException:
            print('passurl_v2:', passurl_v2)
            raise Exception('v2 AP1登录失败')
        else:
            apsoftware = APSoftwarePage(self.driver, self.url)
            apsoftware.input_updatesoftware(pathv2)
            time.sleep(1)
            apsoftware.click_uttupdate()
            time.sleep(1)
            self.driver.switch_to.alert.accept()  # 接受警告框
            time.sleep(25)
        # V1降级
        # 再新开一个窗口,通过执行js来新开一个窗口
        js1 = 'window.open("%s");' % passurl_v1
        self.driver.execute_script(js1)
        all_handles2 = self.driver.window_handles  # 获取当前窗口句柄集合(列表类型)
        # print(all_handles2)  # 输出句柄集合

        for handle in all_handles2:  # 切换窗口(切换到v1)
            if handle != route_handles:
                print('switch to '), handle
                self.driver.switch_to_window(handle)
                v1_handles = self.driver.current_window_handle
                # print('v1_handles:', v1_handles)  # 输出当前窗口句柄(v1)
                break
        try:
            self.driver.get(passurl_v1)
            self.driver.set_page_load_timeout(5)  # selenium超时设置/等待时间过长自动停止
        except TimeoutException:
            print('passurl_v1:', passurl_v1)
            raise Exception('v1 AP2登录失败')
        else:
            apsoftware = APSoftwarePage(self.driver, self.url)
            apsoftware.input_updatesoftware(pathv1)
            time.sleep(1)
            apsoftware.click_uttupdate()
            time.sleep(1)
            self.driver.switch_to.alert.accept()  # 接受警告框
            time.sleep(30)
        #web降级后,等待AP上线
        self.driver.switch_to_window(route_handles)
        # 将路由器重启掉(降级后可能会存在mac22不同 导致有同个设备多个离线记录,D525重启很快 放AP后面)
        reboot = MaintenancePage(self.driver, self.url)
        reboot.click_headerReboot()
        time.sleep(1)
        reboot.click_ok()
        time.sleep(2)
        tips = str(reboot.getText_byClass(reboot.u_tim_str))
        self.assertEqual(tips, WillReboottips, msg='点击页面上方重启 操作失败')
        # 等待路由器重启
        i = 0
        while i < 20:
            now_url = str(self.driver.current_url)
            # print(now_url,i)
            if '/noAuth/login.html' not in now_url:  # 如果不同
                time.sleep(5)
            else:
                break
            i += 1
        self.driver.quit()
        # all_handles = self.driver.window_handles  # 获取当前窗口句柄集合(列表类型)
        # # print(all_handles)  # 输出句柄集合
        # for handle in all_handles:
        #     self.driver.switch_to_window(handle)
        #     self.driver.quit()
        time.sleep(2)
        login.loginWeb2(self)
        self.driver.implicitly_wait(10)
        device = deviceMgmtPage(self.driver, self.url)
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(50)
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            list_status2 = device.getText_byXpath(device.list_status2)
            list_status3 = device.getText_byXpath(device.list_status3)
            list_status4 = device.getText_byXpath(device.list_status4)
            print(list_status1, list_status2, list_status3, list_status4, x)
            if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                print('4台AP均在线', x)
                channel1 = str(
                    device.getAttribute_byXpath(device.list_channel1,
                                                'data-local'))
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel2,
                                                'data-local'))
                channel3 = str(
                    device.getAttribute_byXpath(device.list_channel3,
                                                'data-local'))
                channel4 = str(
                    device.getAttribute_byXpath(device.list_channel4,
                                                'data-local'))
                print('channel1=', channel1, 'channel2=', channel2,
                      'channel3=', channel3, 'channel4=', channel4, x)
                if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                    print('4台AP2.4G无线接口已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('AP  未能同步2.4G无线接口')

        #手动升级
        apsoftware = APSoftwarePage(self.driver, self.url)
        apsoftware.click_APsoftware()
        time.sleep(1)
        # v1手动升级
        apsoftware.input_serach(v1APname)
        apsoftware.click_serachB()
        time.sleep(1)
        v1_version = str(apsoftware.getText_byXpath(apsoftware.list_version1))
        v1APoldversio2 = v1APoldversion[-12:]  # 截取版本号及日期 如:2.6.4-171110
        self.assertIn(v1APoldversio2, v1_version, msg='v1版本 web页面降级失败')
        apsoftware.click_list_sel1()
        time.sleep(0.2)
        apsoftware.click_upDataLocal()
        time.sleep(2)
        apsoftware.click_chooseFile()
        time.sleep(1)
        # 调用autoIt脚本上传AP版本
        os.system('%s' % (batpath + 'SE_APupdate_WA3000N.exe'))
        time.sleep(2)
        apsoftware.click_demo_upgrade()
        time.sleep(5)
        try:
            self.driver.implicitly_wait(2)
            apsoftware.find_ok()
        except NoSuchElementException:
            pass
        else:
            time.sleep(3)
        time.sleep(8)
        self.driver.implicitly_wait(10)
        # v2手动升级
        apsoftware.input_serach(v2APname)
        apsoftware.click_serachB()
        time.sleep(1)
        v2_version = str(apsoftware.getText_byXpath(apsoftware.list_version1))
        v2APoldversio2 = v2APoldversion[-12:]  #截取版本号及日期 如:2.6.4-171110
        self.assertIn(v2APoldversio2, v2_version, msg='v2版本 web页面降级失败')
        apsoftware.click_list_sel1()
        time.sleep(0.2)
        apsoftware.click_upDataLocal()
        time.sleep(2)
        apsoftware.click_chooseFile()
        time.sleep(1)
        # 调用autoIt脚本上传AP版本
        os.system('%s' % (batpath + 'SE_APupdate_WA2520N.exe'))
        time.sleep(2)
        apsoftware.click_demo_upgrade()
        time.sleep(5)
        try:
            self.driver.implicitly_wait(2)
            apsoftware.find_ok()
        except NoSuchElementException:
            pass
        else:
            time.sleep(3)
        self.driver.implicitly_wait(10)

        #已手动升级,切换到设备管理 等待AP上线
        time.sleep(100)
        self.driver.quit()
        login.loginWeb(self)
        self.driver.implicitly_wait(10)
        time.sleep(0.5)
        print('AP升级中,等待AP上线...')
        device = deviceMgmtPage(self.driver, self.url)
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(1)
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            list_status2 = device.getText_byXpath(device.list_status2)
            list_status3 = device.getText_byXpath(device.list_status3)
            list_status4 = device.getText_byXpath(device.list_status4)
            print(list_status1, list_status2, list_status3, list_status4, x)
            if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                print('4台AP均在线', x)
                channel1 = str(
                    device.getAttribute_byXpath(device.list_channel1,
                                                'data-local'))
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel2,
                                                'data-local'))
                channel3 = str(
                    device.getAttribute_byXpath(device.list_channel3,
                                                'data-local'))
                channel4 = str(
                    device.getAttribute_byXpath(device.list_channel4,
                                                'data-local'))
                print('channel1=', channel1, 'channel2=', channel2,
                      'channel3=', channel3, 'channel4=', channel4, x)
                if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                    print('4台AP2.4G无线接口已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('AP  未能同步2.4G无线接口')
        #切换回软件管理 确认AP升级后版本
        apsoftware = APSoftwarePage(self.driver, self.url)
        apsoftware.click_APsoftware()
        time.sleep(1)
        apsoftware.input_serach(v2APname)
        apsoftware.click_serachB()
        time.sleep(1)
        v2_version = str(apsoftware.getText_byXpath(apsoftware.list_version1))
        v2APversion2 = v2APnewversion[-12:]  # 截取版本号及日期 如:2.6.4-171110
        self.assertIn(v2APversion2, v2_version, msg='v2版本 手动升级失败')
        apsoftware.input_serach(v1APname)
        apsoftware.click_serachB()
        time.sleep(1)
        v1_version = str(apsoftware.getText_byXpath(apsoftware.list_version1))
        v1APversion2 = v1APnewversion[-12:]  # 截取版本号及日期 如:2.6.4-171110
        self.assertIn(v1APversion2, v1_version, msg='v1版本 手动升级失败')
        self.driver.quit()
        logger.info('test_001_ManualUpgrade passed')
예제 #8
0
    def test_002_autoUpodate(self):
        u'''自动更新:批量3个按钮提示正常,批量更新'''
        CapPic(self.driver)
        noAPupdateA = getAssertText('noAPupdateA')
        v1APname = getweb('v1APname')
        v1APnewversion = getweb('v1APnewversion')
        APexecStatus1 = getAssertText('APexecStatus1')
        APexecStatus2 = getAssertText('APexecStatus2')
        APexecStatus3 = getAssertText('APexecStatus3')
        OnlineA = getAssertText('OnlineA')
        OfflineA = getAssertText('OfflineA')

        device = deviceMgmtPage(self.driver, self.url)
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(1)
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            list_status2 = device.getText_byXpath(device.list_status2)
            list_status3 = device.getText_byXpath(device.list_status3)
            list_status4 = device.getText_byXpath(device.list_status4)
            print(list_status1, list_status2, list_status3, list_status4, x)
            if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                print('4台AP均在线', x)
                channel1 = str(
                    device.getAttribute_byXpath(device.list_channel1,
                                                'data-local'))
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel2,
                                                'data-local'))
                channel3 = str(
                    device.getAttribute_byXpath(device.list_channel3,
                                                'data-local'))
                channel4 = str(
                    device.getAttribute_byXpath(device.list_channel4,
                                                'data-local'))
                print('channel1=', channel1, 'channel2=', channel2,
                      'channel3=', channel3, 'channel4=', channel4, x)
                if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                    print('4台AP2.4G无线接口已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('AP  未能同步2.4G无线接口')
        time.sleep(5)
        apsoftware = APSoftwarePage(self.driver, self.url)
        apsoftware.click_APsoftware()
        time.sleep(1)
        # #全选
        # apsoftware.click_list_selall()
        apsoftware.click_list_sel1()
        apsoftware.click_list_sel3()
        time.sleep(0.5)
        apsoftware.click_checkUpdata()  # 检测更新
        time.sleep(3)
        #点一个没有检测到更新的
        apsoftware.click_list_updata1()
        time.sleep(1)
        tips = str(apsoftware.getText_byClass(apsoftware.tipsshowin))
        self.assertEqual(tips, noAPupdateA, msg='更新 按钮异常')
        #自动更新
        apsoftware.click_list_selall()
        time.sleep(0.5)
        apsoftware.click_upData()
        time.sleep(25)
        apsoftware.input_serach(v1APname)
        apsoftware.click_serachB()
        time.sleep(1)
        list_status1 = apsoftware.getText_byXpath(apsoftware.list_status1)

        execStatus = [APexecStatus1, APexecStatus2, APexecStatus3]
        if list_status1 in execStatus:
            pass
        else:
            CapPic(self.driver)
            logger.info(u'点击自动更新 AP更新状态不对')
            print('list_status1:', list_status1)
            raise Exception('点击自动更新 AP更新状态不对')
        time.sleep(30)
        i = 0
        while i < 40:
            list_status1 = apsoftware.getText_byXpath(apsoftware.list_status1)
            if list_status1 != '检测更新':
                # print(list_status1,i)
                time.sleep(3)
                i = i + 1
            else:
                print('自动更新 已升级成功', i)
                break
        device = deviceMgmtPage(self.driver, self.url)
        device.click_deviceMgmt()
        time.sleep(1)
        device.input_search(v1APname)
        device.click_searchB()
        time.sleep(1)
        i = 0
        while i < 30:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            try:
                self.driver.implicitly_wait(3)
                device.find_list_status2()
            except NoSuchElementException:
                time.sleep(3)
                i = i + 1
            else:
                self.driver.implicitly_wait(10)
                list_status2 = device.getText_byXpath(device.list_status2)
                print(list_status1, list_status2, i)
                if list_status1 == OnlineA or list_status2 == OnlineA:
                    print('v1 AP已上线', i)
                    break
                else:
                    time.sleep(3)
                i = i + 1
        else:
            raise Exception('v1 AP 未上线')

        #清除离线AP(ap升级后mac变为fc 会有两条记录 清除掉另一个)
        if list_status1 == OfflineA:
            device.click_list_sel1()
        elif list_status2 == OfflineA:
            device.click_list_sel2()
        device.click_clearOutlineAP()
        time.sleep(1)
        x = 0
        while x < 60:
            device.click_refreshtable()
            time.sleep(1.5)
            list_status1 = device.getText_byXpath(device.list_status1)
            # print(list_status1, x)
            if list_status1 == OnlineA:
                print('v1 AP已上线', x)
                ip1 = str(device.getText_byXpath(device.list_IP1))
                # print('ip1=', ip1,  x)
                if ip1 != '192.168.1.253':
                    print('v1 信息已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('v1 信息未能同步')

        apsoftware = APSoftwarePage(self.driver, self.url)
        apsoftware.click_APsoftware()
        time.sleep(1)
        apsoftware.input_serach(v1APname)
        apsoftware.click_serachB()
        time.sleep(1)
        v1_version = str(apsoftware.getText_byXpath(apsoftware.list_version1))
        v1APversion2 = v1APnewversion[-12:]
        if v1APversion2 not in v1_version:
            print('AP版本确认正常')
        else:
            raise Exception('AP升级后 版本依旧与升级前一致')
        self.driver.quit()
        logger.info('test_002_autoUpodate passed')
예제 #9
0
    def test_002_ExpansionSW(self):
        u'''开启、关闭 无线扩展 正常'''
        nodata = getAssertText('nodata')
        OnlineA = getAssertText('OnlineA')
        OfflineA = getAssertText('OfflineA')

        device = deviceMgmtPage(self.driver, self.url)
        device.click_deviceMgmt()
        time.sleep(1)
        device.click_no()  # 取消按钮
        time.sleep(1)
        list_nodata = device.getText_byXpath(device.list_nodata)
        self.assertEqual(list_nodata, nodata, msg='未开启开关 设备管理列表显示有误')

        netname = netNamePage(self.driver, self.url)
        netname.click_netName()
        time.sleep(1)
        netname.click_ok()  # 点确认开启
        time.sleep(1)
        checkOpens = netname.getAttribute_byId(netname.checkOpens, 'checktype')
        self.assertEqual(checkOpens, '1', msg='无线扩展默认未打开')  # 0关闭,1打开
        #发现AP
        device = deviceMgmtPage(self.driver, self.url)
        device.click_deviceMgmt()
        time.sleep(15)
        device.click_refreshtable()
        time.sleep(1)
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_state1 = device.getText_byXpath(device.list_state1)
            if str(list_state1) == OnlineA or OfflineA:
                print('扩展开启 验证通过')
                break
            else:
                time.sleep(3)
                x = x + 1
        else:
            raise Exception('扩展打开 未发现AP上线')

        #关闭无线拓展
        netname = netNamePage(self.driver, self.url)
        netname.click_netName()
        time.sleep(1)
        netname.click_checkOpen()
        time.sleep(1)
        # 断言 开关关闭
        checkOpens = netname.getAttribute_byId(netname.checkOpens, 'checktype')
        self.assertEqual(checkOpens, '0', msg='无线扩展默认未关闭')  # 0关闭,1打开
        # AP列表为空
        device = deviceMgmtPage(self.driver, self.url)
        device.click_deviceMgmt()
        time.sleep(1)
        list_nodata = device.getText_byXpath(device.list_nodata)
        self.assertEqual(list_nodata, nodata, msg='关闭开关 列表显示有误')
        print('扩展关闭 验证通过')

        #再打开无线扩展
        netname.click_ok()  # 点确认开启
        time.sleep(1)
        self.driver.quit()
        logger.info('test_002_ExpansionSW passed')
예제 #10
0
    def test_004_wifiMode(self):
        u'''无线模式、信道、带宽、无限速率'''
        device = deviceMgmtPage(self.driver, self.url)
        device.click_deviceMgmt()
        time.sleep(1)
        # 点击管理通讯协议,v2在上
        device.click_Priorityv2()
        time.sleep(1)
        #003中v2 AP1 V1 AP1已经引用配置过的模板5,这里仅需要验证是否生效
        # v2协议列表中的操作(排序后第一行)
        channel2_v2 = str(
            device.getAttribute_byXpath(device.list_channel1, 'data-local'))
        mode2_v2 = str(device.getText_byXpath(device.list_2mode1))
        channel5_v2 = str(
            device.getAttribute_byXpath(device.list_channel51, 'data-local'))
        mode5_v2 = str(device.getText_byXpath(device.list_5mode1))
        self.assertEqual(channel2_v2, '7', msg='v2 AP1 2.4G信道不符')
        self.assertEqual(mode2_v2, '11g', msg='v2 AP1 2.4G模式不符')
        self.assertEqual(channel5_v2, '48', msg='v2 AP1 5G信道不符')
        self.assertEqual(mode5_v2, '11a', msg='v2 AP1 5G模式不符')
        V2_AP1IP = str(device.getText_byXpath(device.list_IP1))
        print(V2_AP1IP)
        port = gettelnet('port')
        username = bytes(getweb('User'), encoding="utf8")
        password = bytes(getweb('Passwd'), encoding="utf8")
        tn = telnetlib.Telnet(host=V2_AP1IP, port=port, timeout=10)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'iwconfig ra0' + b'\n')
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if "Channel=7" and 'Bit Rate=54 Mb/s' in result:
            print('v2 AP1 2.4G信道、无线速率验证通过')
        else:
            raise Exception('v2 AP1 2.4G信道、无线速率 异常')  # 如果没有则报错
        tn.close()  # tn.write('exit\n')
        tn = telnetlib.Telnet(host=V2_AP1IP, port='60023', timeout=10)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'iwconfig rai0' + b'\n')
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if "Channel=48" in result:
            print('v2 AP1 5G信道验证通过')
        else:
            raise Exception('v2 AP1 5G信道 异常')  # 如果没有则报错
        tn.close()  # tn.write('exit\n')
        tn = telnetlib.Telnet(host=V2_AP1IP, port='60023', timeout=10)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'cat /etc/Wireless/RT2860/RT2860.dat | grep HT_BW' + b'\n')
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if "HT_BW=0" in result:
            print('v2 AP1 2.4G频道带宽验证通过')
        else:
            raise Exception('v2 AP1 2.4G频道带宽 异常')  # 如果没有则报错
        tn.close()  # tn.write('exit\n')
        tn = telnetlib.Telnet(host=V2_AP1IP, port='60023', timeout=10)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'cat /etc/Wireless/iNIC/iNIC_ap.dat  | grep HT_BW ' + b'\n')
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if "HT_BW=0" in result:
            print('v2 AP1 5G频道带宽验证通过')
        else:
            raise Exception('v2 AP1 5G频道带宽 异常')  # 如果没有则报错
        tn.close()  # tn.write('exit\n')

        # v1协议列表中的操作(排序后第4行)
        channel2_v1 = str(
            device.getAttribute_byXpath(device.list_channel4, 'data-local'))
        mode2_v1 = str(device.getText_byXpath(device.list_2mode4))
        # channel5_v1 = str(device.getAttribute_byXpath(device.list_channel54,'data-local'))
        # mode5_v1 = str(device.getText_byXpath(device.list_5mode4))
        self.assertEqual(channel2_v1, '7', msg='v2 AP1 2.4G信道不符')
        self.assertEqual(mode2_v1, '11g', msg='v2 AP1 2.4G模式不符')
        # self.assertEqual(channel5_v1, '48', msg='v2 AP1 5G信道不符')
        # self.assertEqual(mode5_v1, '11a', msg='v2 AP1 5G模式不符')
        V1_AP1IP = str(device.getText_byXpath(device.list_IP4))
        print(V1_AP1IP)
        username = b'admin'
        password = b'admin'
        tn = telnetlib.Telnet(host=V1_AP1IP, port='60023', timeout=10)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'iwconfig ra0' + b'\n')
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if "Channel=7" and 'Bit Rate=54 Mb/s' in result:
            print('v1 AP1 2.4G信道、无线速率验证通过')
        else:
            raise Exception('v1 AP1 2.4G信道、无线速率 异常')  # 如果没有则报错
        tn.close()  # tn.write('exit\n')
        # tn = telnetlib.Telnet(host=V1_AP1IP, port='60023',timeout=10)
        # tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # # 输入登录用户名
        # tn.read_until(b'login:'******'Password:'******'#')
        # tn.write(b'iwconfig rai0' + b'\n')
        # # 输出结果,判断
        # time.sleep(1)
        # result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        # print('-------------------输出结果------------------------')
        # # 命令执行结果
        # print('result:', result)
        # # 判断
        # if "Channel=48" and 'Bit Rate=54 Mb/s' in result:
        #     print('v1 AP1 5G信道、无线速率验证通过')
        # else:
        #     raise Exception('v1 AP1 5G信道、无线速率 异常')  # 如果没有则报错
        # tn.close()  # tn.write('exit\n')
        tn = telnetlib.Telnet(host=V1_AP1IP, port='60023')
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'cat /etc/Wireless/RT2860/RT2860.dat | grep HT_BW' + b'\n')
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if "HT_BW=0" in result:
            print('v1 AP1 2.4G频道带宽验证通过')
        else:
            raise Exception('v1 AP1 2.4G频道带宽 异常')  # 如果没有则报错
        tn.close()  # tn.write('exit\n')
        # tn = telnetlib.Telnet(host=V2_AP1IP, port='60023')
        # tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # # 输入登录用户名
        # tn.read_until(b'login:'******'Password:'******'#')
        # tn.write(b'cat /etc/Wireless/iNIC/iNIC_ap.dat  | grep HT_BW ' + b'\n')
        # # 输出结果,判断
        # time.sleep(1)
        # result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        # print('-------------------输出结果------------------------')
        # # 命令执行结果
        # print('result:', result)
        # # 判断
        # if "HT_BW=0" in result:
        #     print('v2 AP1 5G频道带宽验证通过')
        # else:
        #     raise Exception('v2 AP1 5G频道带宽 异常')  # 如果没有则报错
        # tn.close()  # tn.write('exit\n')

        self.driver.quit()
        logger.info('test_004_wifiMode passed')
예제 #11
0
    def test_003_interface(self):
        u'''启用、禁用无线接口'''
        OnlineA = getAssertText('OnlineA')
        device = deviceMgmtPage(self.driver, self.url)
        device.click_deviceMgmt()
        time.sleep(1)
        device.click_deviceMgmt()
        time.sleep(1)
        device.click_Priorityv2()
        time.sleep(1)
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            list_status2 = device.getText_byXpath(device.list_status2)
            list_status3 = device.getText_byXpath(device.list_status3)
            list_status4 = device.getText_byXpath(device.list_status4)
            print(list_status1, list_status2, list_status3, list_status4, x)
            if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                print('4台AP均在线', x)
                channel1 = str(
                    device.getAttribute_byXpath(device.list_channel1,
                                                'data-local'))
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel2,
                                                'data-local'))
                channel3 = str(
                    device.getAttribute_byXpath(device.list_channel3,
                                                'data-local'))
                channel4 = str(
                    device.getAttribute_byXpath(device.list_channel4,
                                                'data-local'))
                print('channel1=', channel1, 'channel2=', channel2,
                      'channel3=', channel3, 'channel4=', channel4, x)
                if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                    print('4台AP2.4G无线接口已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('AP  未能同步2.4G无线接口')

        # v2协议列表中的操作(排序后第一行)
        device.click_list_sel1()
        time.sleep(0.5)
        device.click_BatchManagement()
        time.sleep(3)
        spmb = device.selelement_byName(device.spmb)  # 射频设置
        time.sleep(0.5)
        Select(spmb).select_by_value('4')  #第4个模板关闭2.4/5G接口
        time.sleep(0.5)
        device.click_save()
        time.sleep(17)
        device.click_tab_modal()  # 关闭弹窗
        time.sleep(1)
        x = 0
        while x < 20:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            if list_status1 == OnlineA:
                print('v2 AP在线', x)
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel1,
                                                'data-local'))
                channel5 = str(
                    device.getAttribute_byXpath(device.list_channel51,
                                                'data-local'))
                if channel2 == '' and channel5 == '':
                    print('v2 AP1模板禁用接口生效', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('v2 AP1模板禁用接口 出错')
        # v1协议列表中的操作(排序后第4行)
        device.click_list_sel4()
        time.sleep(0.5)
        device.click_BatchManagement()
        time.sleep(3)
        spmb = device.selelement_byName(device.spmb)  # 射频设置
        time.sleep(0.5)
        Select(spmb).select_by_value('4')  # 第4个模板关闭2.4/5G接口
        time.sleep(0.5)
        device.click_save()
        time.sleep(17)
        device.click_tab_modal()  # 关闭弹窗
        time.sleep(1)
        i = 0
        while i < 20:
            device.click_refreshtable()
            time.sleep(1)
            list_status4 = device.getText_byXpath(device.list_status4)
            if list_status4 == OnlineA:
                print('v1 AP在线', x)
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel4,
                                                'data-local'))
                # channel5 = str(device.getAttribute_byXpath(device.list_channel54, 'data-local'))
                if channel2 == '':
                    print('v1 AP2模板禁用接口生效', i)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            i = i + 1
        else:
            raise Exception('v1 AP2模板禁用接口 出错')
        #启用接口
        # v2协议列表中的操作(排序后第一行)
        device.click_list_sel1()
        time.sleep(0.5)
        device.click_BatchManagement()
        time.sleep(3)
        spmb = device.selelement_byName(device.spmb)  # 射频设置
        time.sleep(0.5)
        Select(spmb).select_by_value('5')  # 第5个模板
        time.sleep(0.5)
        device.click_save()
        time.sleep(17)
        device.click_tab_modal()  # 关闭弹窗
        time.sleep(1)
        x = 0
        while x < 20:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            if list_status1 == OnlineA:
                print('v2 AP在线', x)
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel1,
                                                'data-local'))
                channel5 = str(
                    device.getAttribute_byXpath(device.list_channel51,
                                                'data-local'))
                if channel2 == '7' and channel5 == '48':
                    print('v2 AP1模板启用接口生效', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            raise Exception('v2 AP1模板启用接口 出错')
        # v1协议列表中的操作(排序后第四行)
        device.click_list_sel4()
        time.sleep(0.5)
        device.click_BatchManagement()
        time.sleep(3)
        spmb = device.selelement_byName(device.spmb)  # 射频设置
        time.sleep(0.5)
        Select(spmb).select_by_value('5')  # 第4个模板关闭2.4/5G接口
        time.sleep(0.5)
        device.click_save()
        time.sleep(17)
        device.click_tab_modal()  # 关闭弹窗
        time.sleep(1)
        i = 0
        while i < 20:
            device.click_refreshtable()
            time.sleep(1)
            list_status4 = device.getText_byXpath(device.list_status4)
            if list_status4 == OnlineA:
                print('v1 AP在线', i)
                channel2 = str(
                    device.getAttribute_byXpath(device.list_channel4,
                                                'data-local'))
                # channel5 = str(device.getAttribute_byXpath(device.list_channel54, 'data-local'))
                if channel2 == '7':
                    print('v1 AP2模板启用接口生效', i)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            i = i + 1
        else:
            raise Exception('v1 AP2模板启用接口 出错')

        self.driver.quit()
        logger.info('test_003_interface passed')
예제 #12
0
    def test_004_hairDown(self):
        u'''自动下发功能(重启后也能生效)'''
        OnlineA = getAssertText('OnlineA')

        netname = netNamePage(self.driver, self.url)
        netname.click_wirelessExtension()
        time.sleep(0.5)
        netname.click_netName()
        time.sleep(1)
        #取消掉第1个ssid的自动下发功能
        list_autosend1 = str(netname.getAttribute_byXpath(netname.list_autosend1, 'checked'))
        if list_autosend1 == 'true': #如果ssid1 自动下发打开(性能参数和002中已经核对默认自动下发是否已打开)
            netname.click_list_autosend1c()
            time.sleep(1)
            list_autosend1 = str(netname.getAttribute_byXpath(netname.list_autosend1, 'checked'))
            self.assertEqual(list_autosend1, 'None', msg='ssid1自动下发 未取消')
        #勾选第四个ssid的自动下发
        list_sutosend4 = str(netname.getAttribute_byXpath(netname.list_sutosend4, 'checked'))
        if list_sutosend4 == 'None':
            netname.click_list_sutosend4c()
            time.sleep(1)
            list_sutosend4 = str(netname.getAttribute_byXpath(netname.list_sutosend4, 'checked'))
            self.assertEqual(list_sutosend4, 'true', msg='ssid4自动下发 未开启')
        self.driver.quit()

        #1、先重启路由器
        Reboot.test_reboot1(self)
        time.sleep(40) #刚重启好 操作AP恢复出厂 可能会引起配置未删除的问题,这里等待一下
        print('重启后 稍等一下 。。。')
        #2、确认AP均上线
        login.loginWeb(self)
        self.driver.implicitly_wait(10)
        device = deviceMgmtPage(self.driver, self.url)
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(45)
        # 先确认AP均上线
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            list_status2 = device.getText_byXpath(device.list_status2)
            list_status3 = device.getText_byXpath(device.list_status3)
            list_status4 = device.getText_byXpath(device.list_status4)
            print(list_status1, list_status2, list_status3, list_status4, x)
            if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                print('4台AP均在线', x)
                channel1 = str(device.getAttribute_byXpath(device.list_channel1, 'data-local'))
                channel2 = str(device.getAttribute_byXpath(device.list_channel2, 'data-local'))
                channel3 = str(device.getAttribute_byXpath(device.list_channel3, 'data-local'))
                channel4 = str(device.getAttribute_byXpath(device.list_channel4, 'data-local'))
                print('channel1=', channel1, 'channel2=', channel2, 'channel3=', channel3, 'channel4=', channel4, x)
                if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                    print('4台AP2.4G无线接口已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            CapPic(self.driver)
            logger.info(u'AP  未能同步2.4G无线接口')
            raise Exception('AP  未能同步2.4G无线接口')

        # 3、设备管理恢复AP验证自动下发功能
        APmanagement.test_006_resertAP(self)

        logger.info('test_004_hairDown passed')
예제 #13
0
    def test_001_open(self):
        u'''启用负载均衡'''
        v1APname = getweb('v1APname')
        OnlineA = getAssertText('OnlineA')
        port = gettelnet('port')
        username = bytes(getweb('User'), encoding="utf8")
        password = bytes(getweb('Passwd'), encoding="utf8")
        device = deviceMgmtPage(self.driver, self.url)
        #1 查看未启用负载均衡
        device.click_wirelessExtension()
        time.sleep(0.5)
        device.click_deviceMgmt()
        time.sleep(1)
        # 点击管理通讯协议,v2在上
        device.click_Priorityv2()
        time.sleep(1)
        # 先确认AP均上线
        x = 0
        while x < 100:
            device.click_refreshtable()
            time.sleep(1)
            list_status1 = device.getText_byXpath(device.list_status1)
            list_status2 = device.getText_byXpath(device.list_status2)
            list_status3 = device.getText_byXpath(device.list_status3)
            list_status4 = device.getText_byXpath(device.list_status4)
            print(list_status1, list_status2, list_status3, list_status4, x)
            if list_status1 == OnlineA and list_status2 == OnlineA and list_status3 == OnlineA and list_status4 == OnlineA:
                print('4台AP均在线', x)
                channel1 = str(device.getAttribute_byXpath(device.list_channel1, 'data-local'))
                channel2 = str(device.getAttribute_byXpath(device.list_channel2, 'data-local'))
                channel3 = str(device.getAttribute_byXpath(device.list_channel3, 'data-local'))
                channel4 = str(device.getAttribute_byXpath(device.list_channel4, 'data-local'))
                print('channel1=', channel1, 'channel2=', channel2, 'channel3=', channel3, 'channel4=', channel4, x)
                if channel1 != '' and channel2 != '' and channel3 != '' and channel4 != '':
                    print('4台AP2.4G无线接口已同步', x)
                    break
                else:
                    time.sleep(3)
            else:
                time.sleep(3)
            x = x + 1
        else:
            CapPic(self.driver)
            logger.info(u'AP  未能同步2.4G无线接口')
            raise Exception('AP  未能同步2.4G无线接口')
        #获取 wa3000N的IP
        device.input_search(v1APname)
        device.click_searchB()
        list_ip1 = device.getText_byXpath(device.list_IP1)
        #telnet
        tn = telnetlib.Telnet(host=list_ip1, port=port)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'iwpriv ra0 get Config | grep uttMaxStaNum' + b'\n')  # 无线隔离
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if ("uttMaxStaNum:       0"  in result) or( "uttMaxStaNum:       32") in result:
            logger.info(u'负载均衡未开启 AP资源数正常')
        else:
            logger.info(u'负载均衡未开启 AP资源数异常')
            logger.info('result:', result)
            raise Exception('负载均衡未开启 AP资源数异常')
        tn.close()  # tn.write('exit\n')

        #2 开启负载均衡
        enableA = getAssertText('enableA')
        load = loadBalancingPage(self.driver, self.url)
        load.click_loadBalancing()
        time.sleep(1)
        load.click_add()
        time.sleep(1)
        load.input_loadBalanceNames('test')
        load.click_selAP1()
        load.click_toright()
        time.sleep(0.5)
        load.click_selAP1()
        load.click_toright()
        time.sleep(0.5)
        load.click_selAP1()
        load.click_toright()
        time.sleep(0.5)
        load.click_selAP1()
        load.click_toright()
        time.sleep(0.5)
        load.click_save()
        time.sleep(1)
        liststate = load.getText_byXpath(load.list_state)
        self.assertEqual(liststate,enableA,msg='AP负载均衡未启用')
        checkOpens = load.getAttribute_byId(load.checkOpens,'checktype') #1开启,0关闭
        self.assertEqual(checkOpens,'0',msg='负载均衡 开关默认未关闭')
        load.click_checkOpen()
        time.sleep(1)
        checkOpens = load.getAttribute_byId(load.checkOpens, 'checktype')
        self.assertEqual(checkOpens, '1', msg='负载均衡 开启失败')
        time.sleep(10)

        tn = telnetlib.Telnet(host=list_ip1, port=port)
        tn.set_debuglevel(5)  # 级别越高输出的调试信息越多,并没有看出区别
        # 输入登录用户名
        tn.read_until(b'login:'******'Password:'******'#')
        tn.write(b'iwpriv ra0 get Config | grep uttMaxStaNum' + b'\n')  # 无线隔离
        # 输出结果,判断
        time.sleep(1)
        result = str(tn.read_very_eager())  # 只会存最后一条命令的结果
        print('-------------------输出结果------------------------')
        # 命令执行结果
        print('result:', result)
        # 判断
        if ("uttMaxStaNum:       0") not in result and ("uttMaxStaNum:       32") not in result:
            logger.info('负载均衡开启 AP资源数正常')
        else:
            logger.info('负载均衡开启 AP资源数异常')
            print('result:', result)
            logger.info('result:', result)
            raise Exception('负载均衡开启 AP资源数异常')
        tn.close()  # tn.write('exit\n')

        self.driver.quit()
        logger.info('test_001_open passed')