def test_019_config_master_ap_setup_failover_ap(self): u"""准备好master ap的配置及流量,设置好failover ap""" log.debug("019") tmp = APSBusiness(self.driver) #解除特定slave AP1的配对 tmp.unpair_special_slave_AP(data_AP['slave:mac1']) #web页面退出登录 tmp2 = NavbarBusiness(self.driver) tmp2.logout() #AP 下载/上传流量---master ap tmp1 = OVBusiness(self.driver) tmp1.set_AP_download_unload(data_wireless['all_ssid'], data_wireless["short_wpa"], data_basic['wlan_pc'], data_basic['lan_pc']) #重新登录AP Lg = LoginBusiness(self.driver) Lg.login(data_basic['superUser'], data_login['all']) #多个slave ap时,搜索并配对特定的ap tmp.search_pair_special_AP(data_AP['slave:mac2']) #设置slave ap为failover ap tmp.change_slave_to_failover(data_AP['slave:mac2']) #检查slave ap是否变为failover ap result = tmp.check_change_to_failover_AP(data_AP['slave:mac2'], data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) self.assertTrue(result), "master ap and set failover ap ready, test fail!" print "master ap and set failover ap ready, test pass!"
def test_001_check_wifi_upload(self): """判断WIFI总上行是否正确""" #首先启用无线网卡 tmp2 = WirelessSettingsBusiness(self.driver) tmp2.wlan_enable(data_basic['wlan_pc']) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #重新登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #修改无线的ssid,加密方式和密码 tmp2.change_wifi_ssid_encryption_pwd(data_wirless['all_ssid'], "psk2", data_wirless['short_wpa']) #判断WIFI总上行是否正确 tmp = StateInfoBusiness(self.driver) result = tmp.check_wifi_upload(data_wirless['all_ssid'], data_wirless['short_wpa'], data_basic['wlan_pc'], data_basic['lan_pc']) self.assertTrue(result) log.debug("001\t\tpass")
def test_001_check_add_one_list_not_access_url(self): """添加一条url过滤规则,PC不能够访问指定的url""" #首先启用无线网卡 tmp = UrlFilterBusiness(self.driver) tmp.wlan_enable(data_basic['wlan_pc']) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #重新登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #先确定PC能够访问指定的url--baidu result1 = tmp.check_access_url("www.baidu.com") #添加一条url过滤规则--baidu tmp.add_one_list("baidu") #确定PC不能够访问指定的url--baidu result2 = tmp.check_access_url("www.baidu.com") self.assertTrue(result1) self.assertFalse(result2) log.debug("001\t\tpass")
def test_004_wifi_login(self): """使用无线网卡连接ssid,输入正确的管理员的用户名和密码,登录AP的web界面""" #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #复位AP后的默认ssid ssid = "3ONE_2G_"+ data.master_last_6mac() #使用无线网卡连接ssid Lg.connect_NONE_AP(ssid, data_basic['wlan_pc']) #无线网卡获取ip地址 Lg.dhcp_wlan(data_basic['wlan_pc']) #PC禁用有线网卡 Lg.networkcard_disable() #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #检测是否登录成功 result = Lg.login_test() #启用有线网卡 Lg.networkcard_enable() #释放无线网卡的ip Lg.dhcp_release_wlan(data_basic['wlan_pc']) #断开无线网卡的连接 Lg.disconnect_ap() self.assertTrue(result) log.debug("004\t\tpass")
def test_001_system_downgrade(self): """系统降级""" #首先启用无线网卡 tmp = SystemUpgradeBusiness(self.driver) tmp.wlan_enable(data_basic['wlan_pc']) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #固件的http路径: PATH_http = data_basic['old_version_http'] #从http下载固件 tmp.get_client_cmd_result("wget %s" % PATH_http) #选择固件路径,降级固件 PATH = os.path.join( os.getcwd(), AP_model + '-' + data_basic['old_version'] + '.bin') print(PATH) #重新登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() tmp.upgrade_system(PATH) #重新登录,并检查固件版本 Lg.refresh_login_ap() result = tmp.check_system_version(data_basic['old_version']) # #删除下载固件 # os.unlink(PATH) self.assertTrue(result) log.debug("001\t\tpass")
def test_001_default_wifi(self): """默认无线开关为开启状态""" # #首先启用无线网卡 tmp = WirelessSettingsBusiness(self.driver) tmp.wlan_enable(data_basic['wlan_pc']) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #重新登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #使用无线网卡扫描,能够连接上默认ssid #默认ssid default_ssid = "3ONE_2G_" + data.master_last_6mac() print(default_ssid) result = tmp.client_connect_ssid(default_ssid, data_basic['wlan_pc'], "open") #result = tmp.ssid_scan_result_backup(default_ssid, data_basic['wlan_pc']) self.assertTrue(result) log.debug("001\t\tpass")
def test_001_check_current_devices_client_mac(self): """无线client显示在当前连接设备页面""" # #首先启用无线网卡 tmp2 = WirelessSettingsBusiness(self.driver) tmp2.wlan_enable(data_basic['wlan_pc']) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #重新登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #修改无线的ssid,加密方式和密码 tmp2.change_wifi_ssid_encryption_pwd(data_wirless['all_ssid'], "psk2", data_wirless['short_wpa']) #使用无线网卡连接ap tmp2.client_connect_ssid(data_wirless['all_ssid'], data_basic['wlan_pc'], "wpa", data_wirless['short_wpa']) # tmp2.connect_DHCP_WPA_AP(data_wirless['all_ssid'], data_wirless['short_wpa'], # data_basic['wlan_pc']) #判断设备的mac地址是否正确 Lg.refresh_login_ap() time.sleep(60) tmp = WirelessClientBusiness(self.driver) result = tmp.check_current_devices_client_mac(data_basic['wlan_pc']) self.assertTrue(result) log.debug("001\t\tpass")
def test_018_del_client_name(self): u"""删除设置用户名称后,用户再次连接后主机名显示为用户本身名字(testlink_ID:516)""" log.debug("018") tmp = ClientsBusiness(self.driver) wlan_mac = tmp.get_wlan_mac(data_basic['wlan_pc']) #只有一个客户端时,修改客户端名称 tmp.change_client_name(wlan_mac, "") #重启ap tmp1 = UpgradeBusiness(self.driver) tmp1.web_reboot(data_basic['DUT_ip']) tmp1.connect_DHCP_WPA_AP(data_wireless['all_ssid'],\ data_wireless['short_wpa'],data_basic['wlan_pc']) tmp.dhcp_release_wlan(data_basic['wlan_pc']) self.driver.refresh() self.driver.implicitly_wait(10) #登录AP Lg = LoginBusiness(self.driver) Lg.login(data_basic['superUser'], data_login['all']) #获取第一个客户端的名称 result = tmp.check_client_name(wlan_mac) #取测试平台的name PC_name = subprocess.check_output("hostname", shell=True).strip("\n") print result, PC_name # tmp.dhcp_release_wlan(data_basic['wlan_pc']) assert (result == PC_name) or (result == ""), "del client name,test fail!" print "del client name,test pass!"
def test_001_disable_dhcp_server(self): """禁用dhcp server,client无法获取到ip地址""" #首先启用无线网卡 tmp = LanSettingsBusiness(self.driver) tmp.wlan_enable(data_basic['wlan_pc']) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #重新登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #关闭ap的dhcp server tmp.enable_disable_dhcp_server(0) result = tmp.check_AP_dhcp_server(data_basic['lan_pc'], "192.168.1") #指定有线网卡的固定ip--能够访问ap的webpage tmp.set_eth_ip(data_basic['lan_pc'], data_basic['static_PC_ip']) self.assertFalse(result) log.debug("001\t\tpass")
def test_001_check_add_one_list(self): """添加一条IP过滤规则,PC的ip在范围之内,PC不能访问internet""" #首先启用无线网卡 tmp = IPFilterBusiness(self.driver) tmp.wlan_enable(data_basic['wlan_pc']) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #重新登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #先确定PC能够上网 result1 = tmp.get_ping("www.baidu.com") #获取PC lan口附近的ip地址 start_end_ip = tmp.obtain_lan_ip_near_ip(data_basic['lan_pc'], 5, 5) #添加一条IP过滤规则,PC的ip在范围之内 tmp.add_one_IPFilter_list(*start_end_ip) #判断PC是否能够上网 result2 = tmp.get_ping("www.baidu.com") self.assertEqual(result1, 0) self.assertNotEqual(result2, 0) log.debug("001\t\tpass")
def test_003_wrong_user_pwd_login(self): """输入错误的管理员的用户名和密码,登录AP的web界面""" #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_login['digital_letter']) #检测是否登录成功 result = Lg.login_test() self.assertFalse(result) log.debug("003\t\tpass")
def check_user_range(self, lgoin_name, login_pwd): #点击页面上的退出按钮 tmp = NavbarBusiness(self.driver) tmp.logout() #使用user用户登录GWN7610的web界面 tmp1 = LoginBusiness(self.driver) tmp1.login(lgoin_name, login_pwd) result = AccessBusiness.user_login_test(self) print result return result
def setUp(self): # firefox_profile = webdriver.FirefoxProfile(data_basic['firefox_profile']) # self.driver = webdriver.Firefox(firefox_profile=firefox_profile) self.driver = webdriver.Firefox() self.driver.maximize_window() self.driver.get(data_basic['DUT_web']) self.driver.implicitly_wait(60) #登录AP Lg = LoginBusiness(self.driver) Lg.login(data_basic['superUser'],data_login['all'])
def test_004_admin_login(self): u"""输入管理员的用户名和密码,登录GWN7610的web界面""" log.debug("004") #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录GWN7610的web界面 Lg.login(data_basic['superUser'],data_login['all']) #检测是否登录成功 result = Lg.login_test() assert result ,"login AP webpage,test fail!" print "login AP webpage,test pass!"
def setUp(self): self.driver = webdriver.Firefox() self.driver.maximize_window() self.driver.get(data_basic['DUT_web']) self.driver.implicitly_wait(20) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap()
def test_064_adminpwd_to_user(self): u"""用admin账号的密码登录user(testlink_ID:897)""" log.debug('064') #点击页面上的退出按钮 tmp1 = NavbarBusiness(self.driver) tmp1.logout() tmp = LoginBusiness(self.driver) tmp.login(data_basic['user'], data_login['all']) #判断是否登录成功 result = tmp.login_test() print result assert result == False, "use admin's pwd login user,test fail!" print "use admin's pwd login user,test pass!"
def test_065_userpwd_to_admin(self): u"""用user账号的密码登录admin(testlink_ID:898)""" log.debug('065') #点击页面上的退出按钮 tmp1 = NavbarBusiness(self.driver) tmp1.logout() tmp = LoginBusiness(self.driver) tmp.login(data_basic['superUser'], data_login['digital_pwd']) #判断是否登录成功 result = tmp.login_test() print result assert result == False, "use user's pwd login admin,test fail!" print "use user's pwd login admin,test pass!"
def test_062_check_new_user_pwd_login(self): u"""正确修改user密码后,用修改后的新密码登录,确认登录成功(testlink_ID:895)""" #点击页面上的退出按钮 log.debug('062') tmp = NavbarBusiness(self.driver) tmp.logout() #使用新密码登录GWN7610的web界面 tmp1 = LoginBusiness(self.driver) tmp1.login(data_basic['user'], data_login['digital_pwd']) #判断是否登录成功 result = tmp1.login_test() print result assert result, "use new pwd login AP,test fail!" print "use new pwd login AP,test pass!"
def use_user_pwd_login(self, user_pwd, lgoin_name, login_pwd): #修改user密码,点击保存 AccessBusiness.change_user_pwd(self, user_pwd, user_pwd) #弹出窗口中,点击应用 AccessControl.apply(self) #点击页面上的退出按钮 tmp = NavbarBusiness(self.driver) tmp.logout() #使用某个密码登录GWN7610的web界面 tmp1 = LoginBusiness(self.driver) tmp1.login(lgoin_name, login_pwd) #判断是否登录成功 result = tmp1.login_test() return result
def atest_005_webpage_timeout(self): """登录AP的web界面后,等待超时时间,确认ap退出登录""" #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #等待一个超时时间 time.sleep(600) #刷新web页面 self.driver.refresh() self.driver.implicitly_wait(20) #检测是否登录成功 result = Lg.login_test() self.assertFalse(result) log.debug("005\t\tpass")
def test_005_user_login(self): u"""输入user的用户名和密码,登录GWN7610的web界面""" log.debug("005") #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录GWN7610的web界面 Lg.login(data_basic['user'],data_login['all']) #检测是否登录成功 result = Lg.login_test() #测试完毕,禁用无线网卡,使pc能够上网 Lg.dhcp_release_wlan(data_basic['wlan_pc']) Lg.disconnect_ap() Lg.wlan_disable(data_basic['wlan_pc']) assert result ,"login AP webpage,test fail!" print "login AP webpage,test pass!"
def test_002_user_logout(self): """登录web页面后,点击登出按钮,能够登出成功""" Lg = LoginBusiness(self.driver) #首先登录 time.sleep(20) Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #检测是否登录成功 result1 = Lg.login_test() #登出AP的web界面 Lg.logout() #检测是否登录成功 result2 = Lg.login_test() self.assertTrue(result1) self.assertFalse(result2) log.debug("002\t\tpass")
def setUp(self): fp = webdriver.FirefoxProfile() fp.set_preference("browser.download.folderList",2) fp.set_preference("browser.download.manager.showWhenStarting",False) fp.set_preference("browser.download.dir", os.getcwd()) fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/x-targz") self.driver = webdriver.Firefox(firefox_profile=fp) self.driver.maximize_window() self.driver.get(data_basic['DUT_web']) self.driver.implicitly_wait(20) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap()
def test_050_check_new_pwd_login(self): u"""使用修改后的密码登录,确认登录成功(testlink_ID:880)""" log.debug('050') self.driver.refresh() self.driver.implicitly_wait(10) #使用新密码登录GWN7610的web界面 tmp = LoginBusiness(self.driver) tmp.login(data_basic['superUser'], data_login['digital_pwd']) #判断是否登录成功 result = tmp.login_test() #测试完后修改为常用密码 tmp1 = AccessBusiness(self.driver) tmp1.change_pwd(data_login['digital_pwd'], data_login['all'], data_login['all']) tmp1.apply() assert result, "use new pwd login AP,test fail!" print "use new pwd login AP,test pass!"
def check_slaveAP_upload_backup(self, ssid, password, wlan, lan, mac): #无线网卡连接master ap OVControl.connect_DHCP_WPA_AP(self, ssid, password, wlan) #禁用有线网卡 OVControl.wlan_disable(self, lan) i = 0 while i < 3: tmp = OVControl.get_ping(self, d['iperf_ip']) if tmp == 0: #描述:使用iperf3进行上传 tmp1 = subprocess.call("iperf3 -c %s -t180 -w5M" % d['iperf_ip'], shell=True) print tmp1 break else: OVControl.wlan_enable(self, lan) OVControl.dhcp_release_wlan(self, wlan) OVControl.dhcp_wlan(self, wlan) OVControl.wlan_disable(self, lan) print "run iperf3 fail,try %s again!" % (i + 1) i = i + 1 continue #启用有线网卡 OVControl.wlan_enable(self, lan) #使无线网卡释放IP地址 OVControl.dhcp_release_wlan(self, wlan) self.driver.refresh() self.driver.implicitly_wait(10) time.sleep(6) #登录AP data_basic = data.data_basic() data_login = data.data_login() Lg = LoginBusiness(self.driver) Lg.login(data_basic['superUser'], data_login['all']) time.sleep(300) try: #获取master ap的上传流量 result3 = OVControl.get_ap_upflow(self, mac) result1 = result3.strip("MB").strip("KB").strip("B").strip("GB") result2 = int(float(result1)) print result3, result2 return result3, result2 except: print u"在overview页面的Top AP上没有找到该AP!" return "0MB", 0
def test_002_first_login(self): u"""第一次登录页面需要设置管理员和用户密码""" log.debug("002") #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录GWN76xx的web界面 Lg.login(data_basic['superUser'],data_basic["super_defalut_pwd"]) #第一次登录页面需要设置管理员和用户密码 Lg.set_super_user_pwd(data_login["all"],data_login["all"],\ data_login["all"],data_login["all"]) ##点击下次不再显示 tmp1 = SWBusiness(self.driver) tmp1.hidenexttime() tmp1.close_wizard() #检测是否登录成功 result = Lg.login_test() assert result ,"login AP webpage first and set admin and user password ,test fail!" print "login AP webpage first and set admin and user password ,test pass!"
def change_bridge_AP_wifi_encryption_pwd(self, bridge_static_ip, bridge_ip, encryption, pwd): """ 改变桥接路由的无线加密和密码 """ #设置PC的静态IP和桥接的路由的IP端一致 self.set_eth_ip(data_basic['lan_pc'], bridge_static_ip) #登录桥接路由的web端,修改桥接路由的无线加密为none self.driver.get("http://{}".format(bridge_ip)) self.driver.implicitly_wait(20) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #修改桥接路由的无线加密 self.change_wifi_encryption_pwd(encryption, pwd)
def test_001_correct_user_pwd_login(self): """输入正确的管理员的用户名和密码,登录AP的web界面""" #首先启用无线网卡 Lg = LoginBusiness(self.driver) Lg.wlan_enable(data_basic['wlan_pc']) #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #把AP恢复出厂配置 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.restore_AP_factory() #重新登录AP #调用实例的登录AP的web界面 Lg.login(data_basic['superUser'], data_basic['super_defalut_pwd']) #检测是否登录成功 result = Lg.login_test() self.assertTrue(result) log.debug("001\t\tpass")
def test_001_factory_reset(self): u"""登录路由后台把AP恢复出厂设置""" log.debug("001") #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #调用实例的登录GWN7610的web界面 Lg.login(data_basic['superUser'],data_login['all']) Lg.login_again() tmp = UpgradeBusiness(self.driver) tmp.web_factory_reset_backup(data_basic['DUT_ip']) time.sleep(30) #登录AP后台取出管理员密码 tmp1 = SSH(data_basic['DUT_ip'],data_basic['super_defalut_pwd']) result = tmp1.ssh_cmd(data_basic['sshUser'],"uci show grandstream.general.admin_password") print result #描述:启用无线网卡 tmp.wlan_enable(data_basic['wlan_pc']) assert "='admin'" in result,"reset the AP defalut config in ssh,fail!" print "reset the AP defalut config in ssh,pass!"
def test_003_router_mac_login(self): u"""router mac地址登录web UI(llmnr)""" log.debug("003") #登录AP #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) mac = Lg.mac_drop(data_AP['master:mac']) self.driver.get("https://gwn_%s.local"%mac) self.driver.implicitly_wait(10) #调用实例的登录GWN7002w的web界面 Lg.login(data_basic['superUser'],data_login["all"]) #检测是否登录成功 result = Lg.login_test() assert result ,"Check using router mac to login ,test fail!\n\n\n\ TEST STEPS of THE CASE:\n\ 1.Open AP's url webpage by AP mac:https://gwn_mac.local.\n\ 2.Input user and password to login ap.\n\ 3.Confirm can login AP's webpage.\n" print "Check using router mac to login,test pass!"