def test_029_failover_master_can_takeover_ap(self): u"""failover ap 切换到master ap模式后,能够正常接管ap(testlink_ID:2379)""" log.debug("029") tmp = APSBusiness(self.driver) #开启master ap的controller tmp.open_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) time.sleep(60) #搜索并配对特定的ap tmp.search_pair_AP(data_AP["slave:mac1"],data_AP["slave:mac2"]) #设置slave ap2为failover ap tmp.change_slave_to_failover(data_AP["slave:mac2"]) #master ap关闭controller tmp.close_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) #等待10分钟 time.sleep(610) #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], "failover", data_login['all']) #设置failover ap为master ap tmp.change_failover_to_master() #登录后台,判断slave ap是否接管成功 result = tmp.check_slave_ap_pair(data_basic['slave_ip2'], data_basic['sshUser'], data_login['all'], data_AP["slave:mac1"]) self.assertTrue(result), "after failover change to master can take over ap, test fail!" print "after failover change to master can take over ap, test pass!"
def test_038_failover_master_client_keep_connecting(self): u"""failover ap 切换到master ap模式后,客户端不会断开(testlink_ID:2391)""" log.debug("038") tmp = APSBusiness(self.driver) #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], "failover", data_login['all']) #设置failover ap为master ap tmp.change_failover_to_master() result = tmp.get_client_cmd_result("iw dev %s link"%data_basic['wlan_pc']) self.assertIn(data_ng['NG2_ssid'], result), "after failover change to master client won't disconnect, test fail!" print "after failover change to master client won't disconnect, test pass!"
def test_055_reboot_failover_switching(self): u"""指定failover ap,并断开master ap后,10分钟内,重启failover ap(testlink_ID:2413)""" log.debug("055") tmp = APSBusiness(self.driver) #设置slave ap2为failover ap tmp.change_slave_to_failover(data_AP["slave:mac2"]) #master ap关闭controller tmp.close_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) #等待1分钟 time.sleep(60) #重启failover ap tmp.reboot_router(data_basic['slave_ip2'],data_basic['sshUser'], data_login['all']) #等待3分钟 time.sleep(180) #failover ap依然是slave ap模式 ssh = SSH(data_basic['slave_ip2'], data_login['all']) result = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.role") #等待10分钟 time.sleep(610) #slave ap 变为failover 模式 ssh = SSH(data_basic['slave_ip2'], data_login['all']) result1 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.role") result2 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.failover") #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], "failover", data_login['all']) #设置failover ap为master ap tmp.change_failover_to_master() result3 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.role") result4 = ssh.ssh_cmd(data_basic['sshUser'], "uci show controller.main.failover") #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], data_basic['superUser'], data_login['all']) #该ap恢复出厂配置 tmp2 = UpgradeBusiness(self.driver) tmp2.web_factory_reset_backup(data_basic['slave_ip2']) #开启master ap的controller tmp.open_master_controller(data_basic['DUT_ip'], data_basic['sshUser'], data_login['all']) time.sleep(60) self.assertIn("master", result1) self.assertIn("1", result2) self.assertIn("master", result3) self.assertIn("Entry not found", result4) self.assertIn("slave", result), "reboot failover ap, test fail!" print "reboot failover ap, test pass!"