def check_STA_unblock_no_need_auth(self, ssid, password, wlan, eth): #无线STA通过group0的认证 tmp = CPBusiness(self.driver) tmp.access_No_auth_portal(ssid, password, wlan, eth, "wpa") #无线网卡释放ip地址 CPControl.dhcp_release_wlan(self, wlan) #断开无线连接 CPControl.disconnect_ap(self) #启用有线网卡 CPControl.wlan_enable(self, eth) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #block STA tmp.connect_WPA_AP(ssid, password, wlan) tmp3 = ClientsBusiness(self.driver) wlan_mac = tmp3.get_wlan_mac(wlan) tmp3.block_client(wlan_mac) #unblock STA tmp4 = ClientAccessBusiness(self.driver) #删除Global Blacklist里面的所有的mac tmp4.del_Global_Blacklist_mac() #使用免认证的规则,腾讯首页,判断是否跳转到portal页面 result = tmp.check_jump_to_No_auth_portal(ssid, password, wlan, eth) return result
def test_009_check_ssid1(self): u"""新建立的ssid1+有线或无线+用户客户端显示(testlink_ID:496)""" log.debug("009") NG2_ssid = "%s-2" % data_ng["NG2_ssid"] #新建一个SSID tmp = SSIDBusiness(self.driver) tmp.new_ssid(NG2_ssid, data_wireless["short_wpa"]) #将master ap加入所有的ssids tmp1 = APSBusiness(self.driver) tmp1.add_master_to_all_NG() #使用无线网卡能够连接上NG2的ssid,并正常使用 tmp1.connect_WPA_AP(NG2_ssid, data_wireless['short_wpa'], data_basic['wlan_pc']) tmp2 = ClientsBusiness(self.driver) #得到无线客户端的mac mac = tmp2.get_wlan_mac(data_basic['wlan_pc']) client_mac, ssid_name, connecttype, conap = tmp2.check_ssid(mac) print client_mac, ssid_name, connecttype, conap Mac = mac.upper() #得到master ap的mac MasterAP = data_AP['master:mac'].upper() assert (client_mac == Mac) and (ssid_name == NG2_ssid) and \ (connecttype == (u"无线" or "Wireless")) and (conap == MasterAP),\ "Check newssid+wireless+client display,test fail!" print "Check newssid+wireless+client display,test pass!"
def get_Global_Blacklist_mac(self): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) result = ClientAccessControl.get_Global_Blacklist(self) return result
def test_006_check_disconnect_connect_uptime(self): u"""客户端离线后再上线,其连接时间重新开始更新(testlink_ID:491)""" log.debug("006") tmp = ClientsBusiness(self.driver) result = tmp.disconnect_connect_uptime(data_basic['wlan_pc']) print result assert result, "restart connected time after disconnect and then connect client,test fail!" print "restart connected time after disconnect and then connect client,test pass!"
def test_010_check_ssid_filter1(self): u"""ssid的客户端信息过滤1--选择ssid0没有客户端(testlink_ID:497_1)--bug""" log.debug("010") tmp = ClientsBusiness(self.driver) result = tmp.check_ssid_filter(data_wireless['all_ssid'], data_basic['wlan_pc']) assert result == False, "Check client through ssid filter1,test fail!" print "Check client through ssid filter1,test pass!"
def get_access_list1_mac(self): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) result = ClientAccessControl.get_Access_List1(self) return result
def test_011_check_ssid_filter2(self): u"""ssid的客户端信息过滤--选择ssid1有客户端(testlink_ID:497_2)--bug""" log.debug("011") tmp = ClientsBusiness(self.driver) NG2_ssid = "%s-2" % data_ng["NG2_ssid"] result = tmp.check_ssid_filter(NG2_ssid, data_basic['wlan_pc']) assert result, "Check client through ssid filter2,test fail!" print "Check client through ssid filter2,test pass!"
def test_019_check_confirm_box(self): u"""Block client时的确认框(testlink_ID:517)""" log.debug("019") tmp = ClientsBusiness(self.driver) #Block client时的确认框 wlan_mac = tmp.get_wlan_mac(data_basic['wlan_pc']) result = tmp.check_confirm_box(wlan_mac) assert result == True, "check confirm box Blocking client,test fail!" print "check confirm box Blocking client,test pass!"
def del_all_timepolicy(self): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击时间策略菜单 TimePolicyControl.timepolicy_menu(self) #依次点击所有组的删除按钮 TimePolicyControl.del_all_button(self) TimePolicyControl.apply(self)
def test_022_connect_AP_again(self): u"""被blocked的wireless终端重连WLAN(testlink_ID:520)""" log.debug("022") tmp = ClientsBusiness(self.driver) #使用无线网卡能够连接上ssid,并正常使用 result = tmp.connect_WPA_AP_backup(data_wireless['all_ssid'], data_wireless['short_wpa'], data_basic['wlan_pc']) assert 'Not connected' in result, "after blocking client,client connect ap again,test fail!" print "after blocking client,client connect ap again,test pass!"
def test_016_set_client_err_name2(self): u"""设置用户名为___(testlink_ID:515)""" log.debug("016") tmp = ClientsBusiness(self.driver) #客户端名称设置为不合法时 wlan_mac = tmp.get_wlan_mac(data_basic['wlan_pc']) result1, result2 = tmp.check_set_client_name(wlan_mac, data_client['err_name2']) assert result1 and result2, "set client name is ___,test fail!" print "set client name is ___,test pass!"
def test_013_set_client_digital(self): u"""设置用户名为全数字(testlink_ID:512)""" log.debug("013") tmp = ClientsBusiness(self.driver) #客户端名称设置为不合法时 wlan_mac = tmp.get_wlan_mac(data_basic['wlan_pc']) result1, result2 = tmp.check_set_client_name( wlan_mac, data_client['digital_name']) assert result1 and result2, "set client name is digital,test fail!" print "set client name is digital,test pass!"
def del_firest_list(self): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) ClientAccessControl.del_first_button(self) #弹出的提示窗口中,点击确认 ClientAccessControl.notice_ok(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
def del_Access_list_n(self, name): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #删除对应的access list ClientAccessControl.del_access_list_n(self, name) #弹出的提示窗口中,点击确认 ClientAccessControl.notice_ok(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
def change_timeout_hourly(self, n): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击时间策略菜单 TimePolicyControl.timepolicy_menu(self) #点击编辑按钮 TimePolicyControl.edit_button(self, n) #设置客户端重连超时类型 TimePolicyControl.set_reconnect_type(self, n, "hourly") #点击保存 TimePolicyControl.click_save(self) TimePolicyControl.apply(self)
def get_bannedclients_title(self): #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击时间策略菜单 BannedClientsControl.bannedclients_menu(self) #获取页面所有标题 result = BannedClientsControl.get_titlediv(self) print result return result
def unblock_clients(self, n): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击时间策略菜单 BannedClientsControl.bannedclients_menu(self) try: #点击解锁按钮 BannedClientsControl.unblock_button(self, n) #弹出的提示窗口中,点击确认 BannedClientsControl.notice_ok(self) except: pass
def enable_disable_timepolicy(self, n): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击时间策略菜单 TimePolicyControl.timepolicy_menu(self) #点击编辑按钮 TimePolicyControl.edit_button(self, n) #点击开启或关闭 TimePolicyControl.click_enable_disable(self, n) #点击保存 TimePolicyControl.click_save(self) TimePolicyControl.apply(self)
def check_portal_client_block_function(self, ssid, password, wlan, eth): #通过免认证方式上网 CPBusiness.\ access_No_auth_portal(self,ssid,password,wlan,eth,"wpa") #无线网卡释放ip地址 CPControl.dhcp_release_wlan(self, wlan) #断开无线连接 CPControl.disconnect_ap(self) #启用有线网卡 CPControl.wlan_enable(self, eth) tmp = ClientsBusiness(self.driver) #使用无线网卡能够连接上ssid,并正常使用 tmp.connect_DHCP_WPA_AP(ssid, password, wlan) #无线网卡释放ip地址 CPControl.dhcp_release_wlan(self, wlan) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #只有一个客户端,阻塞该客户端 wlan_mac = tmp.get_wlan_mac(wlan) tmp.block_client(wlan_mac) time.sleep(60) #测试机上判断无线客户端是否依然是连接上的 result = tmp.get_client_cmd_result("iw dev %s link" % wlan) #无线网卡释放ip地址 CPControl.dhcp_release_wlan(self, wlan) #断开无线连接 CPControl.disconnect_ap(self) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() tmp1 = ClientAccessBusiness(self.driver) #删除Global Blacklist里面的所有的mac tmp1.del_Global_Blacklist_mac() return result
def del_accesslist_manymac(self): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #只有一个新增访问列表时,点击编辑 ClientAccessControl.edit_button(self) #添加窗口,一直点击-号,删除所有的mac,只保留第一个mac地址 ClientAccessControl.del_all_addmac(self) #点击保存 ClientAccessControl.save(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
def del_accesslist_n_manymac(self, name): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #编辑对应的access list ClientAccessControl.edit_access_list_n(self, name) #添加窗口,一直点击-号,删除所有的mac,只保留第一个mac地址 ClientAccessControl.del_all_addmac(self) #点击保存 ClientAccessControl.save(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
def edit_accesslist_onemac(self, mac): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #只有一个新增访问列表时,点击编辑 ClientAccessControl.edit_button(self) #在添加窗口输入一个mac地址 ClientAccessControl.set_mac(self, mac) #点击保存 ClientAccessControl.save(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
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 del_Global_Blacklist_mac(self): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #编辑Global Blacklist ClientAccessControl.edit_Global_Blacklist_button(self) #添加窗口,一直点击-号,删除所有的mac,不保留第一个mac地址 ClientAccessControl.del_all_addmac_backup(self) #点击保存 ClientAccessControl.save(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
def change_list_name(self, name1, name2): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #编辑对应的access list ClientAccessControl.edit_access_list_n(self, name1) #修改list的名称 ClientAccessControl.set_list_name(self, name2) #点击保存 ClientAccessControl.save(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
def test_039_failover_master_check_client_num(self): u"""failover ap 切换到master ap模式后,客户端数目不会改变(testlink_ID:2394)""" log.debug("039") tmp = APSBusiness(self.driver) #登录failover ap的web界面 tmp.login_failover_ap(data_basic['slave_web2'], data_basic['superUser'], data_login['all']) tmp1 = ClientsBusiness(self.driver) #点击客户端菜单 tmp1.clients_menu() #获取客户端的数量 result = tmp1.get_clients_num() self.assertEqual(1, result), "after failover change to master check client number, test fail!" print "after failover change to master check client number, test pass!"
def test_016_check_Clients_webpage(self): u"""Client数量和状态必须与客户端页面的信息一致(testlink_ID:1160)""" log.debug("016") tmp = OVBusiness(self.driver) #获取2.4G客户端数 result1 = tmp.get_2g4_client() #获取5G客户端数 result2 = tmp.get_5g_client() result = (int(result1)+int(result2)) tmp1 = ClientsBusiness(self.driver) tmp1.clients_menu() num = tmp1.get_clients_num() assert result == num,"check client number is different as Clients webpage,test fail!" print "check client number is same as Clients webpage,test pass!"
def edit_accesslist_n_manymac(self, name, n): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #编辑对应的access list ClientAccessControl.edit_access_list_n(self, name) for i in range(n): #添加窗口,点击+号,输入一个mac地址 ClientAccessControl.set_add_addmac(self) #点击保存 ClientAccessControl.save(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self)
def check_del_first_list(self): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) ClientAccessControl.del_first_button(self) # #弹出的提示窗口中,点击确认 # ClientAccessControl.notice_ok(self) #判断是否会弹出提示框,有则返回True,没有则返回False element = self.driver.find_element_by_xpath( ".//div[@class='modal-footer']//button[@class='btn btn-primary']") result = element.is_displayed() print result return result
def edit_accesslist_n_onemac(self, name, mac): #点击客户端菜单 tmp = ClientsBusiness(self.driver) tmp.clients_menu() #点击客户端访问菜单 ClientAccessControl.clientaccess_menu(self) #编辑对应的access list ClientAccessControl.edit_access_list_n(self, name) #在添加窗口输入一个mac地址 ClientAccessControl.set_mac(self, mac) #点击保存 ClientAccessControl.save(self) #弹出窗口中,点击应用 ClientAccessControl.apply(self) print "edit access list:%s successfully!" % name