def has_fastboot_serial(serial, iterations=10):
    local_connection = connection_local()

    for i in range(iterations):
        (out, err) = local_connection.run_cmd(command="fastboot devices")
        if serial in out:
            return True
        time.sleep(1)
    return False
def get_var(var, serial=None):
    if serial:
        fastboot_cmd = "fastboot -s {0} getvar {1} 2>&1".format(serial, var)
    else:
        fastboot_cmd = "fastboot getvar {0} 2>&1".format(var)
    local_connection = connection_local()
    # Get the output of the command
    value = local_connection.run_cmd(command=fastboot_cmd)
    # Get the var value (if the fastboot var exists)
    var_value = [i for i in value if var in i and "UNKNOWN COMMAND" not in i]
    if len(var_value):
        return var_value[0].split('\n')[0].split(':')[-1].strip().lower()
    return None
def get_connected_android_devices():
    local_connection = connection_local()
    connected_devices = {}
    connected_devices['android'] = local_connection.get_adb_devices(
        device_state="device", charging=False)
    connected_devices['charge_os'] = local_connection.get_adb_devices(
        device_state="device", charging=True)
    connected_devices['ptest'] = local_connection.get_adb_devices(
        device_state="device", ptest=True)
    connected_devices['recovery'] = local_connection.get_adb_devices(
        device_state="recovery")
    connected_devices['fastboot'] = local_connection.get_fastboot_devices()
    connected_devices['crashmode'] = local_connection.get_crashmode_devices()
    return connected_devices
Exemple #4
0
def is_uiautomator_started(serial=None):
    """ description:
            checks if uiautomator RPC server is started on the device

        tags:
            utils, adb, android, version
    """
    if serial:
        adb_connection = connection_adb(serial=serial)
    else:
        adb_connection = connection_adb()
    local_connection = connection_local()
    stdout, stderr = local_connection.run_cmd(command="curl -d \
                                              '{\"jsonrpc\":\"2.0\",\
                                                \"method\":\"deviceInfo\",\
                                                \"id\":1}' \
                                              localhost:9008/jsonrpc/0")
    return "android" in stdout
def wget(url,
         user=None,
         passwd=None,
         path_to_download=None,
         aditional_params=None,
         live_print=False,
         mode="sync"):

    local_connection = connection_local()

    wget_cmd = "wget "
    if user is not None:
        wget_cmd += " --user={0}".format(user)
    if passwd is not None:
        wget_cmd += " --password={0}".format(passwd)
    wget_cmd += " --no-check-certificate "
    if aditional_params is not None:
        wget_cmd += "{0} ".format(aditional_params)
    wget_cmd += url
    if path_to_download is not None:
        local_connection.cd(path=path_to_download)

    proc = subprocess.Popen(wget_cmd,
                            shell=True,
                            stdout=subprocess.PIPE,
                            stderr=subprocess.PIPE)
    if mode == "async":
        return proc
    if live_print:
        while True:
            out = proc.stderr.readline()
            if "Not Found" in out:
                print out,
                return False
            if proc.poll() is not None:
                return proc
            print out,
    else:
        (stdout, stderror) = proc.communicate(input=None)
        return (stdout, stderror)
Exemple #6
0
 def __init__(self, **kwargs):
     self.local_connection = connection_local(**kwargs)
     base_step.__init__(self, **kwargs)
def get_fastboot_devices():
    local_connection = connection_local()
    return local_connection.get_fastboot_devices()
def get_adb_devices(device_state="device"):
    local_connection = connection_local()
    return local_connection.get_adb_devices(device_state=device_state)
def has_adb_serial(serial, device_state="device"):
    local_connection = connection_local()
    return local_connection.check_adb(serial=serial, device_state=device_state)
def get_command_output(command, to_stderr=False):
    local_connection = connection_local()
    return local_connection.parse_cmd_output(cmd=command, to_stderr=to_stderr)