コード例 #1
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def reboot():
     """
     retboot devices
     :return:
     """
     command = "reboot"
     adb_cmd(command)
コード例 #2
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def adb_image(path):
     shell_cmd("rm /sdcard/screenshot.png")
     shell_cmd("/system/bin/screencap -p /sdcard/screenshot.png")
     log.info(">>>截取屏幕成功,在桌面查看文件。")
     c_time = time.strftime("%Y_%m_%d_%H-%M-%S")
     image_path = os.path.join(path, c_time + ".png")
     adb_cmd('pull /sdcard/screenshot.png %s"' % image_path)
コード例 #3
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def sync(directory, **kwargs):
     '''
     # 同步更新 很少用此命名
     '''
     command = "sync %s" % directory
     if 'list' in kwargs:
         command += " -l"
         result = adb_cmd(command)
         return result
コード例 #4
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def get_ui_dump_xml(xml_path):
     """
     获取当前Activity的控件树
     """
     PATH = lambda a: os.path.abspath(a)
     if int(Actions.get_sdk_version()) >= 19:
         shell_cmd(
             "uiautomator dump --compressed /data/local/tmp/uidump.xml")
     else:
         shell_cmd("uiautomator dump /data/local/tmp/uidump.xml")
     path = PATH(xml_path)
     if not os.path.isdir(path):
         os.makedirs(path)
     adb_cmd("pull /data/local/tmp/uidump.xml %s" % PATH(path)).wait()
     shell_cmd("rm /data/local/tmp/uidump.xml").wait()
     if os.path.exists(os.path.join(path, "uidump.xml")):
         return True
     else:
         return False
コード例 #5
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def device_ready(devics_sn=""):
     '''
     get device state
     device:设备正常连接
     offline:连接出现异常,设备无响应
     unknown:没有连接设备
     no device return error: no devices/emulators found
     more then one device return error: more than one device/emulator
     :return:
     '''
     if devics_sn == "":
         result = adb_cmd("get-state")
     else:
         result = adb_cmd("-s {0} get-state".format(devics_sn))
     if result.strip() == "device":
         return True
     else:
         log.error("the state device is " + result)
         return False
コード例 #6
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def get_app_pid(pkg_name):
     '''
     # 根据包名得到进程id
     '''
     result = adb_cmd("shell ps | {0} ".format(Actions.find_type) +
                      pkg_name)
     if result == '':
         return "the process doesn't exist."
     result = result.split(" ")
     return result[7]
コード例 #7
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def open_app(packagename, activity):
     '''
     打开指定app
     '''
     result = adb_cmd("shell am start -n %s/%s" % (packagename, activity))
     check = result.partition('\n')[2].replace('\n', '').split('\t ')
     if check[0].find("Error") >= 1:
         return False
     else:
         return True
コード例 #8
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def get_all_devices():
     '''
     get device list
     :return:
     '''
     devices = []
     result = adb_cmd("devices")
     for device in result.strip("\r\n").split("\r\n"):
         sn = device.replace("\tdevice", "")
         if "devices" not in sn and sn != "":
             devices.append(sn)
     return devices
コード例 #9
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def adb_video(path, times=20):
     """
     android6 可以
     """
     PATH = lambda p: os.path.abspath(p)
     sdk = int(Actions.get_sdk_version())
     if sdk >= 19:
         shell_cmd(
             "screenrecord --time-limit --size 640 * 360 %d --verbose /data/local/tmp/screenrecord.mp4"
             % times)
         log.info(">>>Get Video file...")
         time.sleep(1.5)
         path = PATH(path)
         if not os.path.isdir(path):
             os.makedirs(path)
         c_time = time.strftime("%Y_%m_%d_%H-%M-%S")
         adb_cmd("pull /data/local/tmp/screenrecord.mp4 %s" %
                 PATH("%s/%s.mp4" % (path, c_time)))
         # shell_cmd("rm /data/local/tmp/screenrecord.mp4")
     else:
         log.error("sdk version is %d, less than 19!" % sdk)
         sys.exit(0)
コード例 #10
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def pull(remote, local):
     '''
     # 拉数据到本地
     '''
     result = adb_cmd("pull %s %s" % (remote, local))
     return result
コード例 #11
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def push(local, remote):
     '''
     # 将电脑文件拷贝到手机里面
     '''
     result = adb_cmd("push %s %s" % (local, remote))
     return result
コード例 #12
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def do_fastboot():
     """
     进入fastboot模式
     """
     adb_cmd("reboot bootloader")
コード例 #13
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def uninstall_app(pkg_name):
     """
         卸载应用args:- packageName -:应用包名,非apk名
     """
     adb_cmd(" uninstall %s" % pkg_name)
コード例 #14
0
ファイル: adb.py プロジェクト: QADai/AppUIAutomation
 def install_app(appFile):
     """
     安装app,app名字不能含中文字符
     """
     adb_cmd("install -r %s" % appFile)