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_factory_reset_setupwizard(self): u"""在页面上把AP恢复出厂设置,并运行设置向导并配对slave ap,修改ssid,密码(testlink_ID:773)""" log.debug("001") #如果登录没有成功,再次使用默认密码登录;如果登录成功则直接退出 Lg = LoginBusiness(self.driver) Lg.login_again() tmp = APSBusiness(self.driver) #描述:启用无线网卡 tmp.wlan_enable(data_basic['wlan_pc']) #rsyslog服务器准备 tmp.ready_rsyslog() result1 = tmp.web_factory_reset(data_basic['DUT_ip'],data_basic['sshUser'],\ data_basic['super_defalut_pwd']) #运行设置向导并配对slave ap,修改ssid,密码 time.sleep(60) tmp1 = SWBusiness(self.driver) result2 = tmp1.complete_backup(data_wireless['all_ssid'], data_wireless['short_wpa'], data_basic['wlan_pc'], data_ap["slave:mac2"]) tmp.connect_DHCP_WPA_AP(data_wireless['all_ssid'], data_wireless['short_wpa'], data_basic['wlan_pc']) #禁用启用有线网卡,以便无线网卡能够在ap的client页面显示在线 tmp.wlan_disable(data_basic['lan_pc']) tmp.wlan_enable(data_basic['lan_pc']) time.sleep(60) tmp.dhcp_release_wlan(data_basic["wlan_pc"]) print result1, result2 assert result1 and result2, "reset the AP defalut config and run setupwizard in webpage,fail!" print "reset the AP defalut config and run setupwizard in webpage,pass!"
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_013_clientmode_save_config_file(self): """客户端模式下保存配置""" tmp = WorkModeBusiness(self.driver) #修改工作模式为client模式,内网设置静态IP,桥接ap无线加密为wpa2 tmp.change_workmode_to_client_LANstaticIP(data_basic['DUT_ip'], data_lan['netmask1'], data_wirless['bridge_essid'], data_wirless['bridge_encryption'], data_wirless['bridge_bssid'], data_wirless['bridge_pwd'], data_basic['ssh_user'], data_basic['ssh_pwd']) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #下载配置文件 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.download_config_file() #判断配置文件是否下载 #文件路径 PATH = os.path.join(os.getcwd(), "bakup.file") print(PATH) result = os.path.exists(PATH) #登录ap后台,判断ap的工作模式 result5 = tmp.check_DUT_workmode(data_basic['DUT_ip'], data_basic['ssh_user'], data_basic['ssh_pwd']) self.assertTrue(result) self.assertIn("wds_c", result5) log.debug("013\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 check_slave_ap_group1_portal_function(self, NG2_ssid, password, wlan, eth): #7000新建一个网络组,vid设为2,开启dhcp server tmp1 = NGBusiness(self.driver) tmp1.mixed_7000_new_NG() #76xx上新建一个网络组,vid为2 self.driver.get(data_basic['DUT_web']) self.driver.implicitly_wait(60) self.driver.refresh() time.sleep(10) tmp2 = SSIDBusiness(self.driver) tmp2.new_vlan_ssid(NG2_ssid, password, "2") #开启group1的强制门户认证 tmp2.click_ssid_portal(2) #slave ap加入所有的网络组 tmp3 = APSBusiness(self.driver) tmp3.add_slave_to_all_NG() #使用免认证的规则,访问腾讯首页,判断是否跳转到portal页面 result = CPBusiness.check_jump_to_No_auth_portal( self, NG2_ssid, password, wlan, eth) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #删除ssid1 tmp2.del_all_NG() #删除7000新建的网络组 tmp1.mixed_7000_del_NG() print result return result
def check_group1_radius_portal_function(self, NG2_ssid, password, wlan, eth, t, radius_name, radius_password): #7000新建一个网络组,vid设为2,开启dhcp server tmp1 = NGBusiness(self.driver) tmp1.mixed_7000_new_NG() #76xx上新建一个网络组,vid为2 self.driver.get(data_basic['DUT_web']) self.driver.implicitly_wait(60) self.driver.refresh() time.sleep(10) tmp3 = SSIDBusiness(self.driver) tmp3.new_vlan_ssid(NG2_ssid, password, "2") #开启ssid1的强制门户认证 tmp3.click_ssid_portal(2) #master ap加入所有的网络组 tmp2 = APSBusiness(self.driver) tmp2.add_master_to_all_NG() #验证默认list:grandstream中的radius认证的有效性 portal_title,redirect_title,again_title,expiration_title = \ CPBusiness.check_radius_portal(self,NG2_ssid,password, wlan,eth,t,radius_name,radius_password) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #删除master ap的ssid1 tmp3.del_all_NG() #删除7000新建的网络组 tmp1.mixed_7000_del_NG() return portal_title, redirect_title, again_title, expiration_title
def check_group1_open_DHCP_portal_function(self, NG2_name, ip, start_ip, end_ip, gateway, dns1, NG2_ssid, password, wlan, eth): #7000新建一个网络组,vid设为2,不开启dhcp server tmp1 = NGBusiness(self.driver) tmp1.mixed_7000_new_NG_no_DHCP() #76xx上新建一个网络组,vid为2,开启dhcp server和wifi self.driver.get(data_basic['DUT_web']) self.driver.implicitly_wait(60) self.driver.refresh() time.sleep(10) tmp1.new_group_open_dhcp_server(NG2_name, ip, start_ip, end_ip, gateway, dns1, NG2_ssid, password) #开启group1的强制门户认证 tmp1.click_groupn_portal(1) #使用免认证的规则,访问腾讯首页,判断是否跳转到portal页面 result = CPBusiness.check_jump_to_No_auth_portal( self, NG2_ssid, password, wlan, eth) #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() #删除master ap的group1 tmp1.del_all_NG() #删除7000新建的网络组 tmp1.mixed_7000_del_NG() print result return result
def check_open_close_many_groups_captive_portal_function( self, group0_ssid, group1_ssid, group2_ssid, password, wlan, eth): result = [] tmp1 = SSIDBusiness(self.driver) for i in range(2): #点击group0的强制门户认证 #点击三个网络组的强制门户认证 tmp1.click_many_group_portal(3) #使用免认证的规则,访问腾讯首页,判断是否跳转到portal页面 for j in [group0_ssid, group1_ssid, group2_ssid]: result1 = CPBusiness.check_jump_to_No_auth_portal( self, j, password, wlan, eth) result.append(result1) #测试完成一遍后,再次登录ap页面,为后续循环测试做好准备 #刷新页面重新登录ap页面 Lg = LoginBusiness(self.driver) Lg.refresh_login_ap() time.sleep(30) #删除master ap的两个ssid tmp1 = SSIDBusiness(self.driver) tmp1.del_all_NG() #删除7000新建的两个网络组 tmp2 = NGBusiness(self.driver) tmp2.mixed_7000_del_NG() print result return result
def test_002_set_wan_staticIP(self): """外网设置为静态IP,能否上网""" tmp = WanSettingsBusiness(self.driver) #设置外网为staticIP tmp.change_wan_to_staticIP(data_wan['static_IP'], data_wan['netmask'], data_wan['gateway'], data_wan['DNS']) #判断ap能够上网 time.sleep(30) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() tmp1 = StateInfoBusiness(self.driver) #获取当前模式 result1 = tmp1.obtain_AP_current_mode() #获取外网的IP获取方式 result2 = tmp1.obtain_WAN_IP_generation() #获取IP地址 result3 = tmp1.obtain_WAN_IP_address() result4 = tmp.get_ping("www.baidu.com") self.assertEqual(result1, "路由模式") self.assertEqual(result2, "静态IP") self.assertEqual(data_wan['static_IP'], result3) self.assertEqual(0, result4) log.debug("002\t\tpass")
def test_003_set_wan_dhcp(self): """外网设置为动态获取,能否上网""" tmp = WanSettingsBusiness(self.driver) #设置外网为动态获取 tmp.change_wan_to_dhcp() time.sleep(30) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() tmp1 = StateInfoBusiness(self.driver) #获取当前模式 result1 = tmp1.obtain_AP_current_mode() #获取外网的IP获取方式 result2 = tmp1.obtain_WAN_IP_generation() #获取IP地址 result3 = tmp1.obtain_WAN_IP_address() #判断ap能够上网 result4 = tmp.get_ping("www.baidu.com") tmp.disconnect_ap() self.assertEqual(result1, "路由模式") self.assertEqual(result2, "动态获取") self.assertIn(data_wan['wan_str'], result3) self.assertEqual(0, result4) log.debug("003\t\tpass")
def test_007_check_bridgemode_reboot_ap(self): """桥接模式下在页面上点击重启设备后,验证设备是否重启""" tmp = WorkModeBusiness(self.driver) #修改工作模式为bridge模式,内网设置静态IP tmp.change_workmode_to_bridge_LANstaticIP( data_basic['DUT_ip'], data_lan['netmask1'], data_wirless['bridge_essid'], data_wirless['bridge_encryption'], data_wirless['bridge_bssid'], data_wirless['bridge_pwd'], data_wirless['all_ssid'], "psk2", data_wirless['short_wpa'], data_basic['ssh_user'], data_basic['ssh_pwd']) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #登录ap后台,判断ap的工作模式 result5 = tmp.check_DUT_workmode(data_basic['DUT_ip'], data_basic['ssh_user'], data_basic['ssh_pwd']) tmp = RebootSystemBusiness(self.driver) #在页面上点击重启设备后,验证设备是否重启 result1, result2 = tmp.check_reboot_ap(data_basic['DUT_ip']) self.assertIn("wds", result5) self.assertNotEqual(0, result1) self.assertEqual(0, result2) log.debug("007\t\tpass")
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 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_005_apmode_save_config_file(self): """AP模式下保存配置""" tmp = WorkModeBusiness(self.driver) #设置PC的静态IP,能够访问DUT的webpage tmp.set_eth_ip(data_basic['lan_pc'], data_basic['static_PC_ip']) #修改工作模式为AP模式,内网设置静态IP tmp.change_workmode_to_ap_LANstaticIP(data_basic['DUT_ip'], data_lan['netmask1'], data_wirless['all_ssid'], "psk2", data_wirless['short_wpa'], "HT20") time.sleep(30) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #下载配置文件 tmp1 = ConfigUpdateBusiness(self.driver) tmp1.download_config_file() #判断配置文件是否下载 #文件路径 PATH = os.path.join(os.getcwd(), "bakup.file") print(PATH) result = os.path.exists(PATH) #登录ap后台,判断ap的工作模式 result5 = tmp.check_DUT_workmode(data_basic['DUT_ip'], data_basic['ssh_user'], data_basic['ssh_pwd']) self.assertTrue(result) self.assertIn("ap", result5) log.debug("005\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_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_factory_reset(self): u"""在页面上把AP恢复出厂设置(testlink_ID:773)""" #如果登录没有成功,再次使用默认密码登录;如果登录成功则直接退出 log.debug("001") Lg = LoginBusiness(self.driver) Lg.login_again() tmp = APSBusiness(self.driver) #描述:启用无线网卡 tmp.wlan_enable(data_basic['wlan_pc']) #rsyslog服务器准备 tmp.ready_rsyslog() result = tmp.web_factory_reset(data_basic['DUT_ip'],data_basic['sshUser'],\ data_basic['super_defalut_pwd']) #修改默认网络组的ssid和密码 tmp1 = SSIDBusiness(self.driver) tmp1.change_wifi_ssid_key(data_wireless['all_ssid'], data_wireless["short_wpa"]) tmp.connect_DHCP_WPA_AP(data_wireless['all_ssid'], data_wireless['short_wpa'], data_basic['wlan_pc']) #禁用启用有线网卡,以便无线网卡能够在ap的client页面显示在线 tmp.wlan_disable(data_basic['lan_pc']) tmp.wlan_enable(data_basic['lan_pc']) time.sleep(60) tmp.dhcp_release_wlan(data_basic["wlan_pc"]) assert result, "reset the AP defalut config in webpage,fail!" print "reset the AP defalut config in webpage,pass!"
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_004_check_apmode_reboot_ap(self): """AP模式下在页面上点击重启设备后,验证设备是否重启""" tmp1 = WorkModeBusiness(self.driver) #设置PC的静态IP,能够访问DUT的webpage tmp1.set_eth_ip(data_basic['lan_pc'], data_basic['static_PC_ip']) #修改工作模式为AP模式,内网设置静态IP tmp1.change_workmode_to_ap_LANstaticIP(data_basic['DUT_ip'], data_lan['netmask1'], data_wirless['all_ssid'], "psk2", data_wirless['short_wpa'], "HT20") #time.sleep(30) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #登录ap后台,判断ap的工作模式 result5 = tmp1.check_DUT_workmode(data_basic['DUT_ip'], data_basic['ssh_user'], data_basic['ssh_pwd']) tmp = RebootSystemBusiness(self.driver) #在页面上点击重启设备后,验证设备是否重启 result1, result2 = tmp.check_reboot_ap(data_basic['DUT_ip']) self.assertIn("ap", result5) self.assertNotEqual(0, result1) self.assertEqual(0, result2) log.debug("004\t\tpass")
def check_login_defualt_language(self): tmp = NavbarControl(self.driver) #点击页面上的退出按钮 tmp.logout() tmp1 = LoginBusiness(self.driver) #获取所选择的语言 result = tmp1.login_get_language() return result
def change_workmode_to_client_LANstaticIP(self, ip, netmask, bridge_essid, bridge_encryption_mode,bridge_bssid, bridge_pwd, user, pwd): """ 修改工作模式为client模式,内网设置静态IP """ for i in range(3): #点击工作模式菜单 self.menu_workmode() #选择桥接模式 self.set_mode("client") time.sleep(10) #内网设置点击静态IP按钮 self.set_client_LAN_staticIP() #输入静态IP的ip地址 self.set_client_LAN_staticIP_ip(ip) #输入静态IP的子网掩码 self.set_client_LAN_staticIP_netmask(netmask) #输入静态ip的gateway self.set_client_LAN_staticIP_gateway("") #点击下一步 self.click_next_button() #桥接设置 # #点击扫描 # self.click_bridge_bridge_scan_button() # time.sleep(10) # #扫描页面中,根据扫描到的ap的mac地址点击对应的操作按钮 # self.set_bridge_bridge_scan_operat(bridge_bssid) #桥接设置输入要桥接的ssid self.set_client_bridge_ssid(bridge_essid) #桥接设置要桥接的无线的加密方式 self.set_client_bridge_encryption(bridge_encryption_mode) #输入桥接ap的无线密码 self.set_client_bridge_password(bridge_pwd) #桥接设置要桥接的对端无线mac地址 self.set_client_bridge_BSSID(bridge_bssid) #点击下一步 self.click_next_button() #点击完成 self.click_finish_button() time.sleep(5) if self.check_waitbar_displayed(): time.sleep(85) break else: Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #指定有线网卡的固定ip--能够访问ap的webpage self.dhcp_release_wlan(data_basic['lan_pc']) self.set_eth_ip(data_basic['lan_pc'], data_basic['static_PC_ip']) #关闭AP的eth1端口,以免她来分配ip地址,和桥接的dhcp server相冲突 self.down_ap_eth1(ip, user, pwd) print("set client mode successfull!")
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 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 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 change_workmode_to_client_LANDHCP(self, bridge_essid, bridge_encryption_mode,bridge_bssid, bridge_pwd, user, pwd): """ 修改工作模式为client模式,内网设置动态获取 """ for i in range(3): #点击工作模式菜单 self.menu_workmode() #选择桥接模式 self.set_mode("client") time.sleep(10) #内网设置点击点击动态获取按钮 self.set_client_LAN_dhcp() #点击下一步 self.click_next_button() #桥接设置 # #点击扫描 # self.click_bridge_bridge_scan_button() # time.sleep(10) # #扫描页面中,根据扫描到的ap的mac地址点击对应的操作按钮 # self.set_bridge_bridge_scan_operat(bridge_bssid) #桥接设置输入要桥接的ssid self.set_client_bridge_ssid(bridge_essid) #桥接设置要桥接的无线的加密方式 self.set_client_bridge_encryption(bridge_encryption_mode) #输入桥接ap的无线密码 self.set_client_bridge_password(bridge_pwd) #桥接设置要桥接的对端无线mac地址 self.set_client_bridge_BSSID(bridge_bssid) #点击下一步 self.click_next_button() #点击完成 self.click_finish_button() time.sleep(5) if self.check_waitbar_displayed(): time.sleep(85) break else: Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() #设置PC的静态IP和桥接的路由的IP端一致 self.dhcp_release_wlan(data_basic['lan_pc']) self.set_eth_ip(data_basic['lan_pc'], data_wireless['bridge_static_ip']) #非路由模式下,获取ap的当前ip地址 ap_ip = self.get_ap_ip(data_wireless['bridge_ip'], data_basic['ssh_user'], data_basic['ssh_pwd'], data_basic['ap_brlan_mac']) #关闭AP的eth1端口,以免她来分配ip地址,和桥接的dhcp server相冲突 self.down_ap_eth1(ap_ip, user, pwd) print("set bridge mode successfull!") return ap_ip
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 test_063_check_user_range(self): u"""user账号的权限验证(testlink_ID:896)""" log.debug('063') tmp = AccessBusiness(self.driver) result1 = tmp.check_user_range(data_basic['user'], data_login['digital_pwd']) #判断是否登录成功 tmp1 = LoginBusiness(self.driver) result2 = tmp1.login_test() print result1, result2 assert (result1 == False) and result2, "test user range,test fail!" print "test user range,test pass!"
def test_010_clientmode_system_upgrade_check_config(self): """客户端模式下,系统升级,检查配置""" tmp = SystemUpgradeBusiness(self.driver) #选择固件路径,升级固件 PATH = os.path.join( os.getcwd(), AP_model + '-' + data_basic['new_version'] + '.bin') print(PATH) tmp.upgrade_system(PATH) #设置PC的静态IP,能够访问DUT的webpage tmp.set_eth_ip(data_basic['lan_pc'], data_basic['static_PC_ip']) #关闭AP的eth1端口,以免她来分配ip地址,和桥接的dhcp server相冲突 tmp4 = WorkModeBusiness(self.driver) tmp4.down_ap_eth1(data_basic['DUT_ip'], data_basic['ssh_user'], data_basic['ssh_pwd']) #逻辑类对象,建一个实例 Lg = LoginBusiness(self.driver) #刷新页面重新登录ap页面 Lg.refresh_login_ap() tmp1 = StateInfoBusiness(self.driver) #获取当前模式 result1 = tmp1.obtain_AP_current_mode() #获取桥接的连接状态 result2 = tmp1.obtain_WAN_IP_generation() #获取信号强度 result3 = tmp1.obtain_WAN_IP_address() #登录ap后台,判断ap的工作模式 tmp3 = WorkModeBusiness(self.driver) result5 = tmp3.check_DUT_workmode(data_basic['DUT_ip'], data_basic['ssh_user'], data_basic['ssh_pwd']) #检查固件版本 result6 = tmp.check_system_version(data_basic['new_version']) #修改工作模式为路由模式,外网设置dhcp模式 tmp4.change_workmode_to_route_WANdhcp(data_wirless['all_ssid'], "psk2", data_wirless['short_wpa'], "HT40", "auto") #client重新获取ip tmp.dhcp_release_wlan(data_basic['lan_pc']) tmp.dhcp_wlan(data_basic['lan_pc']) tmp.disconnect_ap() #删除下载固件 os.unlink(PATH) self.assertEqual(result1, "客户端模式") self.assertEqual(result2, "已连接") self.assertIn("dBm", result3) self.assertIn("wds_c", result5) self.assertTrue(result6) log.debug("010\t\tpass")
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!"