在用 python 编写 Appium 时,有时需要通过 cmd 命令直接对 app 操作。这样的好处是,如果你想对一页界面操作,不用一步一步的进行界面跳转,可以从主界面一下子调到你想要操作的界面。下边是我总结的一小部门命令,菜鸟级别,希望能对初学者有所帮助,也是对自己知识的一个梳理。
通过 os.popen() 方法打开一个 cmd 命令
1、os.popen("adb wait-for devices"):等待连接设备
2、os.popen("adb shell screencap -p /data/local/tmp.png"):截屏后将图片以.png 格式放在 /data/local/文件夹下
3、os.popen("adb shell pull /data/local/" +PATH(path+"/" +timestamp + ".png")):将手机/data/local/文件夹下文件传到手机文件夹下,并对图片以当时时间命名
4、os.popen("adb shell am start -n com.xxx.xxx/com.xxx.xxx.plugins.PluginCenterActicity"):直接跳转并打开 com.xxx.xxx 下的 com.xxx.xxx.plugins.PluginCenterActicity 界面
下边是手机截屏并上传到电脑中的代码:
def screenshot(self):
path = PATH(os.getcwd()+"/output/pic")
timestamp = time.strftime('%Y-%m-%d-%H-%M-%S',time.localtime(time.time()))
os.popen("adb wait-for-device")
os.popen("adb shell screencap -p /data/local/tmp.png")
if not os.path.isdir(PATH(os.getcwd()+"/output/pic")):
os.makedirs(path)
os.popen("adb pull /data/local/tmp.png " + PATH(path + "/" + timestamp + ".png"))
os.popen("adb shell rm /data/local/tmp.png")
print "success"