def config_wifi_connected(self, state, toggle_off = True): print "====================== config_wifi_connected ======================" # make sure there are no saved networks wifi_generic_steps.clear_saved_networks(serial = self.wifi_trafic_serial)() if toggle_off: wifi_generic_steps.set_wifi(state="OFF",serial = serial)() wifi_generic_steps.set_wifi(state="OFF",serial = serial2)() wifi_generic_steps.set_wifi(state="ON",serial = serial)() wifi_generic_steps.set_wifi(state="ON",serial = serial2)() if interface5ghz == "1": ap_steps.setup(mode="n", security = "wpa2", wifi_password= attrs["passphrase"], new_ssid= attrs["ap_name"] if str(attrs["new_ssid"]).lower() == "none" else attrs["new_ssid"], interface5ghz=interface5ghz, encryption="aes", channel_no=channel_no)() if state: # add the Wi-Fi network wifi_generic_steps.add_network(ssid = attrs["ap_name"] if str(attrs["new_ssid"]).lower() == "none" else attrs["new_ssid"], security = attrs["dut_security"], password = attrs["passphrase"], identity = attrs["radius_identity"], EAP_method = attrs["EAP_method"], phase_2_auth = attrs["phase_2_auth"], user_certificate = attrs["user_certificate"], serial = self.wifi_trafic_serial)() # wait until the device connects to a wifi network wifi_generic_steps.wait_until_connected(serial = self.wifi_trafic_serial)()
def connect_to_ap(serial, condition, mode='bg', security='none', dut_security=None, ddwrt_ap_name='ddwrt', ddwrt_ap_pass='******', encryption=None, iteration=1, q=None): for _ in range(0, iteration): # configure ap ap_steps.setup(mode, security, encryption=encryption, wifi_password=ddwrt_ap_pass, new_ssid=ddwrt_ap_name, serial=serial)() # turn display on, if turned off ui_steps.wake_up_device(serial=serial)() # ensure the device is unlocked ui_steps.unlock_device(serial=serial, pin=wifi_defaults.wifi['pin'])() # go to home screen ui_steps.press_home(serial=serial)() # make sure there are no saved networks wifi_generic_steps.clear_saved_networks(serial=serial)() # add the Wi-Fi network wifi_generic_steps.add_network(ssid=ddwrt_ap_name, security=dut_security, password=ddwrt_ap_pass, serial=serial)() # wait until the device connects to a wifi network wifi_generic_steps.wait_until_connected(serial=serial)() # check we are connected to the correct network. wifi_generic_steps.check_connection_info(serial=serial, SSID=ddwrt_ap_name, state='CONNECTED/CONNECTED')() # check connection obj = wifi_generic_steps.ping_gateway(serial=serial) obj() if 'passed' in obj.resolution.lower(): return True if q is None else q.put(['Pass']) else: return False if q is None else q.put(['Success'])
ca_certificates = 'Do not validate' ipv4_class = None if "ipv4_class" in args.keys(): ipv4_class = args["ipv4_class"] reset_ssh_ip = '192.168.1.1' ##### test start ##### # configure ap ap_steps.setup( mode, security, encryption=encryption, wifi_password=ddwrt_ap_pass, radius_ip=radius_ip, radius_secret=radius_secret, new_ssid=ddwrt_ap_name if str(new_ssid).lower() == "none" else new_ssid, channel_bw=channel_bw, interface5ghz=interface5ghz, serial=serial, channel_no=channel_no, ipv4_class=ipv4_class)() # Reload the ETH1 interface on host to execute further TCs without effect bafter change in IP address class os.system('ifconfig eth1 down') time.sleep(10) os.system('ifconfig eth1 up') time.sleep(10) ip_address = os.popen( 'ifconfig eth1 | grep "inet\ addr" | cut -d: -f2 | cut -d" " -f1')
# optional params ddwrt_ap_pass = None if "passphrase" in args.keys(): ddwrt_ap_pass = args["passphrase"] encryption = None if "encryption" in args.keys(): encryption = args["encryption"] #configure the AP ap_steps.setup(dhcp_lease=dhcp_lease_time, new_ssid=ddwrt_ap_name, mode=mode, encryption=encryption, security=security, wifi_password=ddwrt_ap_pass)() ##### test start ##### #clear the logcat logcat_steps.clear_logcat(serial=serial)() adb_steps.connect_device(serial=serial, port=adb_server_port)() # turn display on, if turned off ui_steps.wake_up_device(serial=serial)() # ensure the device is unlocked
ipv6_prefix = wifi_defaults.AP_IPV6_PREFIX ap_ipv6_address = ipv6_prefix + "::1" # Iterations if "iterations" in args.keys(): iterations = int(args["iterations"]) else: iterations = 1 # test start # for i in range(iterations): try: ap_steps.setup(mode, security, new_ssid=ddwrt_ap_name, serial=serial, ipv6_enable=ipv6_enable, radvd_enable=radvd_enable)() # wait a couple of seconds before the next step time.sleep(2) # Add the AP ipv6 address ap_steps.set_ipv6(serial=serial, ipv6_ip=ap_ipv6_address + "/64", ssh_host=ssh_host, ssh_user=ssh_user)() # wait a couple of seconds before the next step time.sleep(2)
ui_steps.press_home(serial=serial)() # airplane mode on, if configured so if airplane_mode == "ON": wifi_generic_steps.set_airplane_mode(state="ON", serial=serial)() # wifi ON wifi_generic_steps.set_wifi(state="ON", serial=serial)() # configure ap with the first settings set ap_steps.setup(mode, security, new_ssid=ddwrt_ap_name, encryption=encryption, wifi_password=ddwrt_ap_pass, radius_ip=radius_ip, radius_secret=radius_secret, channel_bw=channel_bw, interface5ghz=interface5ghz, serial=serial)() ap_steps.setup(mode, security, new_ssid=ddwrt_ap_name, encryption=encryption, wifi_password=ddwrt_ap_pass, channel_bw=channel_bw, serial=serial)() # make sure there are no saved networks wifi_generic_steps.clear_saved_networks(serial=serial)()
# the below params are not mandatory for all configurations, # i.e.: for open wifi encryption = None if "encryption" in args.keys(): encryption = args["encryption"] ddwrt_ap_pass = None if "passphrase" in args.keys(): ddwrt_ap_pass = args["passphrase"] ##### test start ##### adb_steps.connect_device(serial=serial, port=adb_server_port)() # configure ap ap_steps.setup(mode, security, encryption=encryption, wifi_password=ddwrt_ap_pass, new_ssid=ddwrt_ap_name, serial=serial)() # turn display on, if turned off ui_steps.wake_up_device(serial=serial)() # ensure the device is unlocked ui_steps.unlock_device(serial=serial, pin=wifi_defaults.wifi['pin'])() # go to home screen ui_steps.press_home(serial=serial)() # make sure there are no saved networks wifi_generic_steps.clear_saved_networks(serial=serial)()
# mandatory params mode = args["mode"] security = args["security"] ddwrt_ap_name = args["ap_name"] ddwrt_ap_pass = args['passphrase'] dut_security = args['dut_security'] encryption = args["encryption"] ipv6_enable = args["ipv6_enable"] radvd_enable = args["radvd_enable"] #configure the AP ap_steps.setup(mode=mode, new_ssid=ddwrt_ap_name, encryption=encryption, security=security, wifi_password=ddwrt_ap_pass, ipv6_enable=ipv6_enable, radvd_enable=radvd_enable)() ##### test start ##### adb_steps.connect_device(serial=serial, port=adb_server_port)() # turn display on, if turned off ui_steps.wake_up_device(serial=serial)() # ensure the device is unlocked ui_steps.unlock_device(serial=serial, pin=wifi_defaults.wifi['pin'])() # go to home screen
ap_name_2 = ap_name + "1" ##### test start ##### interface5ghz_ap1 = interface5ghz interface5ghz_ap2 = interface5ghz if interface5ghz == "2": interface5ghz_ap1 = "0" interface5ghz_ap2 = "1" # configure ap ap_steps.setup(mode, security, encryption = encryption, wifi_password = ap_pass, radius_ip = radius_ip, radius_secret = radius_secret, new_ssid = ap_name_1, channel_bw = channel_bw, interface5ghz = interface5ghz_ap1, serial = serial)() if interface5ghz_ap2 != interface5ghz_ap1: ap_steps.setup(mode, security, encryption = encryption, wifi_password = ap_pass, radius_ip = radius_ip, radius_secret = radius_secret, new_ssid = ap_name_2, channel_bw = channel_bw, interface5ghz = interface5ghz_ap2, serial = serial)()
gateway = None network_prefix_length = None static_ip_range = None if "static_ip_range" in args.keys(): static_ip_range = args["static_ip_range"] ##### test start ##### #adb_steps.connect_device(serial = serial, # port = adb_server_port)() # configure ap ap_steps.setup(mode, security, encryption = encryption, wifi_password = ddwrt_ap_pass, radius_ip = radius_ip, radius_secret = radius_secret, new_ssid = ddwrt_ap_name, hidden_ssid = hidden, interface5ghz = interface5ghz, serial = serial)() # turn display on, if turned off ui_steps.wake_up_device(serial = serial)() # ensure the device is unlocked ui_steps.unlock_device(serial = serial, pin=wifi_defaults.wifi['pin'])() # go to home screen ui_steps.press_home(serial = serial)() ##### for static IP TCs find the network mask, gateway and static IP address
if "passphrase1" in args.keys(): ddwrt_ap_pass1 = args["passphrase1"] encryption2 = None if "encryption2" in args.keys(): encryption2 = args["encryption2"] ddwrt_ap_pass2 = None if "passphrase2" in args.keys(): ddwrt_ap_pass2 = args["passphrase2"] ##### test start ##### adb_steps.connect_device(serial=serial, port=adb_server_port)() # configure ap with the first settings set ap_steps.setup(mode1, security1, encryption=encryption1, wifi_password=ddwrt_ap_pass1, new_ssid=ddwrt_ap_name, serial=serial)() # turn display on, if turned off ui_steps.wake_up_device(serial=serial)() # ensure the device is unlocked ui_steps.unlock_device(serial=serial, pin=wifi_defaults.wifi['pin'])() # go to home screen ui_steps.press_home(serial=serial)() # make sure there are no saved networks wifi_generic_steps.clear_saved_networks(serial=serial)()
frequency_band='auto', wait_time=wait_time, verify_dumpsys=False)() # make sure there are no saved networks wifi_generic_steps.clear_saved_networks(serial=serial)() # generate unique ssids (to avoid the bug with ssid not disappearing from list - reproduced on nexus) new_ssid = 'tempname' + ''.join( choice(ascii_letters + digits) for i in range(3)) # change ap name (also for bypassing bug with SSID not disappearing from list) ap_steps.setup(mode='n', security='wpa2', encryption='aes', wifi_password='******', new_ssid=new_ssid, interface5ghz='0', serial=serial)() # change ap name (also for bypassing bug with SSID not disappearing from list) ap_steps.setup(mode='n', security='wpa2', encryption='aes', wifi_password='******', new_ssid=new_ssid + '5', interface5ghz='1', serial=serial)() if test_type == 'set_freq_2': wifi_generic_steps.set_wifi_frequency_band(serial=serial,
user_certificate = args["user_certificate"] new_ssid = None if "new_ssid" in args.keys(): new_ssid = args["new_ssid"] channel_bw = None if "channel_bw" in args.keys(): channel_bw = args["channel_bw"] ##### test start ##### adb_steps.connect_device(serial=serial, port=adb_server_port)() # configure ap ap_steps.setup(mode, security, encryption=encryption, wifi_password=ddwrt_ap_pass, radius_ip=radius_ip, radius_secret=radius_secret, new_ssid=new_ssid, channel_bw=channel_bw, serial=serial)() # turn display on, if turned off ui_steps.wake_up_device(serial=serial)() # ensure the device is unlocked ui_steps.unlock_device(serial=serial, pin=wifi_defaults.wifi['pin'])() # go to home screen ui_steps.press_home(serial=serial)() # make sure there are no saved networks wifi_generic_steps.clear_saved_networks(serial=serial)()
if "iterations" in args.keys(): i = args["iterations"] if "adb" in args.keys(): adb=args["adb"] else: adb="True" ##### test start ##### adb_steps.connect_device(serial = serial, port = adb_server_port)() # configure ap1 ap_steps.setup(mode, security, encryption = encryption, wifi_password = ddwrt_ap1_pass, new_ssid = ddwrt_ap1_name, interface5ghz = ddwrt_ap1_band, channel_bw = ddwrt_ap1_channel_bw, serial = serial)() #configure second AP if "ap2_name" in args.keys(): ap_steps.setup(mode, security, encryption = encryption, ssh_host = ddwrt_ap2_ip, wifi_password = ddwrt_ap2_pass, new_ssid = ddwrt_ap2_name, interface5ghz = ddwrt_ap2_band, channel_bw=ddwrt_ap2_channel_bw, serial = serial)()
for entry in script_args: key, val = entry.split("=") args[key] = val mode = args["mode"] security = args["security"] new_ssid = None if "new_ssid" in args.keys(): new_ssid = args["new_ssid"] # mandatory params ap_name = args["ap_name"] #ap_steps.setup(mode, security, new_ssid = new_ssid if str(new_ssid).lower() == "none" else new_ssid, serial = serial)() ap_steps.setup(mode, security, new_ssid = ap_name, serial = serial)() ##### test start ##### adb_steps.connect_device(serial=serial, port=adb_server_port)() # turn display on, if turned off ui_steps.wake_up_device(serial = serial)() # ensure the device is unlocked ui_steps.unlock_device(serial = serial, pin=wifi_defaults.wifi['pin'])() # go to home screen ui_steps.press_home(serial = serial)()
# remove certificate wifi_generic_steps.remove_certificates(serial=serial, wait_time=wait_time, pin=dut_pin)() # remove screen lock PIN security ui_steps.remove_pin_screen_lock(serial=serial, dut_pin=dut_pin, wait_time=int(wait_time) * 1000)() # POST-REQ AP ssid & channel bandwidth elif postreq == "reset_ap": ap_steps.set_ap_wireless(state="up")() ap_steps.setup(mode, security, encryption=encryption, wifi_password=ddwrt_ap_pass, new_ssid=ddwrt_ap_name, serial=serial)() ap_steps.setup_virtual_interface(False, interface5ghz='0', serial=serial)() # POST-REQ AP's 5GHz ssid & channel bandwidth elif postreq == "reset_ap_5": ap_steps.set_ap_wireless(state="up")() ap_steps.setup(mode, security, encryption=encryption, wifi_password=ddwrt_ap_pass, new_ssid=ddwrt_ap_name + '5', interface5ghz='1', serial=serial)() ap_steps.setup_virtual_interface(False, interface5ghz='1', serial=serial)()