Ejemplo n.º 1
0
    def test_002_operation_member(self):
        u'''对成员进行操作:移动、编辑、删除'''
        nodata = getAssertText('nodata')
        ScanTipsA = getAssertText('ScanTipsA')

        login.loginWeb(self)  # admin账号登录
        self.driver.implicitly_wait(10)
        group = OrganizationMembersPage(self.driver, self.url)
        # 打开用户管理 - 组织成员
        group.click_UserManage()
        time.sleep(0.5)
        group.click_userGroup()
        time.sleep(1)

        #移动 上一个def中的账号到 新建组 SelfComputerTest2 中
        group.click_list_groupName_c()
        time.sleep(2)
        group.input_search('SelfComputer1')
        time.sleep(0.5)
        group.click_searchB()
        time.sleep(1)
        group.click_checklist()
        time.sleep(0.5)
        group.click_moveUserTo()
        time.sleep(1)
        selgroup = group.selelement_byName(group.selmoveUserTo)
        Select(selgroup).select_by_value('3')  #组中的值是数字,这里选择'SelfComputerTest2'
        group.click_save()
        time.sleep(1)
        # 断言 添加的账号 名称和组 是否正常
        group.click_list_groupName2()
        time.sleep(2)
        list_authAccount2 = group.getText_byXpath(group.list_authAccount2)
        self.assertEqual(str(list_authAccount2),
                         'SelfComputer1',
                         msg='账号不为“SelfComputer”')
        list_authgroup2 = group.getText_byXpath(group.list_authgroup2)
        self.assertEqual(str(list_authgroup2),
                         'SelfComputerTest2',
                         msg='SelfComputer 账号移动失败')

        #编辑 成员
        # 修改SelfComputer账号用户名为 ‘SelfComputer2’
        group.click_list_groupName2()
        time.sleep(2)
        group.click_edituser1()
        time.sleep(1)
        group.input_UserName('SelfComputer2')
        group.click_save()
        time.sleep(1)
        # 断言 编辑的账号 用户名是否为 ‘webtest2’
        group.click_list_groupName2()
        time.sleep(1)
        changedusername = group.getText_byXpath(group.changedusername)
        self.assertEqual(str(changedusername), 'SelfComputer2', msg='用户名 修改失败')

        # 删除 成员账号
        group.click_list_groupName2()
        time.sleep(2)
        group.click_deluser1()
        time.sleep(1)
        group.click_ok()
        time.sleep(1)
        # 断言 删除后 列表显示“暂无数据”
        group.click_list_groupName2()
        time.sleep(1)
        listtips = group.getText_byXpath(group.listTips)
        self.assertEqual(str(listtips), nodata, msg='删除失败')

        # 扫描
        group.click_allScan()
        time.sleep(1)
        group.click_allScan1()
        time.sleep(2)
        ScanTips = group.getText_byClass(group.ScanTips)
        self.assertEqual(str(ScanTips), ScanTipsA, msg='扫描出错')
        time.sleep(20)
        Scanlist = group.getText_byXpath(group.Scanlist)
        self.assertIsNotNone(Scanlist, msg='扫描出错')
        self.driver.quit()
        logger.info('test_002_operation_member passed')
Ejemplo n.º 2
0
    def test_001_add_user(self):
        u'''组织架构 - 新增成员'''
        organization_group.import_empty_template(self)  # 调用判断 有组织架构清空

        login.loginWeb(self)  # admin账号登录
        self.driver.implicitly_wait(10)
        group = OrganizationMembersPage(self.driver, self.url)
        # 打开用户管理 - 组织成员
        group.click_UserManage()
        time.sleep(0.5)
        group.click_userGroup()
        time.sleep(1)

        #普通用户
        # 获取本机ip 默认有线地址,有线断开会显示无线
        pcaddr = socket.gethostbyname(socket.getfqdn(socket.gethostname()))
        # 新增用户 仅IP 设置的为本机IP
        group.click_addBtnNewTree1()
        time.sleep(1)
        group.input_groupName('SelfComputerTest')
        group.click_save()
        time.sleep(1)
        group.click_addUser()
        time.sleep(1)
        group.input_UserName('SelfComputer1')
        group.input_normalIP(pcaddr)
        group.click_save()
        time.sleep(2)

        # 断言 增加的IP与实际IP相同:代表验证通过
        group.click_userGroup()
        group.click_list_groupName_c()
        time.sleep(1)
        listAddIP = str(group.getText_byXpath(group.listAddIP))
        self.assertEqual(listAddIP, pcaddr, msg='新增 普通用户出错')
        print('组织架构 - 新增普通用户 验证成功')

        # 再新建一个组
        time.sleep(1)
        group.click_addBtnNewTree1()
        time.sleep(1)
        group.input_groupName('SelfComputerTest2')
        group.click_save()
        time.sleep(2)

        #用户认证页面 判断是否支持web认证
        webauth = 1  #预设web和pppoe认证为1,支持
        PPPoEAuth = 1
        auth = Organization_userAuthPage(self.driver, self.url)
        auth.click_userAuth()
        time.sleep(1)
        try:
            self.driver.implicitly_wait(2)
            auth.find_WebAuthC()
        except ElementNotVisibleException:
            webauth = 0
        try:
            auth.find_pppoeAuthC()
        except ElementNotVisibleException:
            PPPoEAuth = 0

        self.driver.implicitly_wait(10)
        group.click_userGroup()
        time.sleep(1)
        if webauth == 1:
            # 新增web认证用户(部分型号不支持web认证)
            group.click_addUser()
            time.sleep(1)
            group.input_UserName('webtest1')
            group.click_authuser()
            time.sleep(1)
            sel = group.selelement_byName(group.authType)
            Select(sel).select_by_value('Web')
            time.sleep(1)
            group.input_authAccount('webtest1')
            group.input_authPassword('webtest1')
            group.click_save()
            time.sleep(2)
            # 断言 添加的账号 认证方式和认证账号 是否正常
            group.click_list_groupName_c()
            time.sleep(1)
            list_authType = group.getText_byXpath(group.list_authType)
            list_authAccount = group.getText_byXpath(group.list_authAccount)
            self.assertEqual(str(list_authType), 'Web', msg='认证方式显示不为“Web”')
            self.assertEqual(str(list_authAccount),
                             'webtest1',
                             msg='认证账号不为“webtest1”')

        if PPPoEAuth == 1:
            #新增pppoe用户(部分型号不支持PPPoE server,目前支持web认证的都支持pppoe server)
            group.click_addUser()
            time.sleep(1)
            group.input_UserName('zpppoetest1')
            group.click_authuser()
            time.sleep(1)
            sel = group.selelement_byName(group.authType)
            Select(sel).select_by_value('PPPoE')
            time.sleep(0.5)
            group.input_authAccount('pppoetest1')
            group.input_authPassword('pppoetest1')
            group.click_save()
            time.sleep(2)
            #断言
            group.click_list_groupName_c()
            time.sleep(1)
            #pppoe账号排序默认在web账号之前的第二行,这里还是判断第二行的信息
            list_authType = group.getText_byXpath(group.list_authType)
            list_authAccount = group.getText_byXpath(group.list_authAccount)
            self.assertEqual(str(list_authType),
                             'PPPoE',
                             msg='认证方式显示不为“PPPoE”')
            self.assertEqual(str(list_authAccount),
                             'pppoetest1',
                             msg='认证账号不为“pppoetest1”')
            print('组织架构 - 新增PPPoE用户 验证成功')

        self.driver.quit()
        logger.info('test_001_add_user passed')
Ejemplo n.º 3
0
    def test_001_IPMACBinding(self):
        u'''仅IP/MAC绑定用户 上网'''
        organization_group.import_empty_template(self)  # 判断是否有组织架构,有则清空

        # 获取本机ip 默认有线地址,有线断开会显示无线
        pcaddr = socket.gethostbyname(socket.getfqdn(socket.gethostname()))

        #先创建用户组
        login.loginWeb(self)  # admin账号登录
        self.driver.implicitly_wait(10)
        group = OrganizationMembersPage(self.driver, self.url)
        # 打开用户管理 - 组织成员
        group.click_UserManage()
        time.sleep(0.5)
        group.click_userGroup()
        time.sleep(1)
        group.click_addBtnNewTree1()
        time.sleep(1)
        group.input_groupName('bangdingTest')
        group.click_save()
        time.sleep(2)
        group.click_userGroup()
        time.sleep(1)
        list_groupName1 = str(group.getText_byID(group.list_groupName1))
        self.assertEqual(list_groupName1, 'bangdingTest', msg='新增组出错')
        print('组织架构 - 新增组完成')

        group.click_addUser()
        time.sleep(1)
        group.input_UserName('bangdingTest')
        group.click_IPMACb()
        time.sleep(1)
        group.input_normalIPMac_IP(pcaddr)
        group.input_normalIPMac_Mac(PcMac)
        group.click_save()
        time.sleep(2)
        group.click_list_groupName_c()
        time.sleep(1)
        listAddIP = group.getText_byXpath(group.listAddIP)
        self.assertEqual(listAddIP, pcaddr, msg='新增 用户IP出错')
        listAddMAC = group.getText_byXpath(group.listAddMAC)
        self.assertEqual(listAddMAC, PcMac, msg='新增 用户MAC出错')
        print('组织架构 - 新增用户完成')

        # 判断联网 ,不能上网则报错
        p = pingTestIP('223.5.5.5')
        if p == 'N':
            raise Exception('connect failed.')

        #开启"仅IP/MAC绑定用户能上网"
        group.click_globalconfig()
        time.sleep(1)
        group.click_IPMACb_E()
        time.sleep(0.5)
        group.click_saveAllSetting()
        time.sleep(1)
        # 断言 开启提示信息是否有误
        tips = str(group.getText_byClass(group.tips))
        time.sleep(1)
        self.assertEqual(tips, savesucess, msg='"仅IP/MAC绑定用户能上网" 开启出错')
        print('"仅IP/MAC绑定用户能上网" 开启')
        # 判断联网 ,不能上网则报错
        pingTestIP('www.baidu.com')  #避免失误
        p = pingTestIP('www.baidu.com')
        if p == 'N':
            raise Exception('connect failed.')

        # 修改MAC为 非绑定的MAC地址
        # 调用bat脚本
        os.system('%s' % (batpath + 'changeMac.bat'))
        time.sleep(5)
        n = 0
        while n < 30:
            # 获取本机ip 默认有线地址,有线断开会显示无线
            pcaddr_new = socket.gethostbyname(
                socket.getfqdn(socket.gethostname()))
            print(pcaddr_new, n)
            if '192.168.' not in str(pcaddr_new):
                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')

        # 判断联网 ,测试该项改完mac之后前几个包有可能可以ping通,为避免判断失误,加一个缓冲
        pingTestIP('www.baidu.com')  #避免失误
        pingTestIP('www.163.com')  #避免失误

        #判断联网 ,非绑定用户应该不能上网
        time.sleep(3)
        p = pingTestIP('114.114.114.114')
        if p == 'Y':
            raise Exception('非绑定用户依旧可以上网')
        time.sleep(1)
        #将mac改回
        # 调用bat脚本
        os.system('%s' % (batpath + 'changeMacToBack.bat'))
        time.sleep(5)
        n = 0
        while n < 30:
            # 获取本机ip 默认有线地址,有线断开会显示无线
            pcaddr_new = socket.gethostbyname(
                socket.getfqdn(socket.gethostname()))
            print(pcaddr_new, n)
            if '192.168.' not in str(pcaddr_new):
                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')
        # 判断联网 ,不能上网则报错
        pingTestIP('www.baidu.com')  #避免失误
        p = pingTestIP('www.baidu.com')
        if p == 'N':
            raise Exception('connect failed.')
        logger.info('test_001_IPMACBinding passed')