Appium之启用手机桌面APP的多种方法
方法一:
其实之前的随笔 Appium之连续启动多个应用(APP)中已经介绍了可以用appium下的start_activity()方法来启动一个应用,那这里就不再说明啦。
方法二:
因为有时用start_activity()方法是启动不了一个桌面应用的,这时就可以考虑使用此方法了。
精髓在于:基于appium服务框架加上python的os模块来执行adb命令
1)、adb下启动一个应用的命令如下:
adb shell am start -n packageName/.Activity
2)、python下os执行adb命令的语法如下:
os.system("adb shell am start -n packageName/.Activity")
下面就以启动Ablum为例,代码如下:

注意:此方法使用之前最好先给手机root权限,如下:
adb root
adb remount (如果提示remount failed),继续执行下面命令:
adb disable-verity (解锁system分区)
adb reboot
adb root
adb remount (重新挂载系统分区,使系统分区重新可写)
Appium之启用手机桌面APP的多种方法的更多相关文章
- LR11录制手机/pad App脚本多种方法介绍(Mobile App补丁包)
总体来说,通过LR录制手机脚本的方式有三种:1)通过代理方式录制,保证手机电脑在同一个网段:2)通过抓包录制,在手机上安装Mobile Recorder:3)通过安卓模拟器录制,本地安装android ...
- js判断移动端是否安装某款app的多种方法
本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 ? || u.indexOf(; //android终端或者uc浏览器 ...
- 使用appium后安卓手机无法调出键盘解决方法
问题:用appium进行真机调试后,使用手机的app进行输入时无法调出键盘. 原因:appium调试时,将手机输入法设置成了Unicode IME 解决方法: 方法一,手机设置里修改输入法: 不同的手 ...
- 检验appium环境是否正常:使用appium自动给手机安装app(注意:如果已存在该app,再执行会将原来的卸载再重装,需谨慎)
(注意:如果已存在该app,再执行会将原来的卸载再重装.泪的教训,我的微信被卸载重装了o(╥﹏╥)o,自动安装app这个步骤需谨慎操作) hi,前面几篇已经讲了appium环境的搭建.设备的连接, 那 ...
- Loadrunner11 录制手机App脚本多种方法介绍
总体来说,通过LR录制手机脚本的方式有三种:1)通过代理方式录制,保证手机电脑在同一个网段:2)通过抓包录制,在手机上安装Mobile Recorder:3)通过安卓模拟器录制,本地安装Android ...
- Android课程---如何用网格视图做出手机桌面APP
activity_test.xml <?xml version="1.0" encoding="utf-8"?> <GridView xmln ...
- 使用electron搭建桌面app的简便方法
使用electron官方给出的`electron-quick-start`示例项目,将其拷贝下来, 1. git命令: git clone https://github.com/electron/ ...
- appium 九宫格解锁招商银行手机客户端app
之前研究了一段时间的appium for native app 相应的总结如下: appium测试环境搭建 :ht ...
- 手机打车APP的机遇与挑战
所谓打车APP,就是个能安装在手机上的打车软件.原理是通过GPS进行定位,能够搜索附近的空车信息然后反馈给用户.同样的,空车信息也会反馈给用户.一般这种啊APP都是跟地图类软件一起的.比如百度地图,谷 ...
随机推荐
- 黄聪:C#程序中判断是否处在DEBUG调试状态或者RELEASE发布状态
习惯了用老方式(注释的方式)来对程序进行调试,不过昨天才发现这样调试存在很大的隐患:在工程发布的时候如果忘记把该注释的代码注释掉,而让这些调试信息随工程一起发布,如果是可见的调试信息倒好发现,如果不是 ...
- 黄聪:C#多线程教程(1):BeginInvoke和EndInvoke方法,解决主线程延时Thread.sleep柱塞问题(转)
开发语言:C#3.0 IDE:Visual Studio 2008 本系列教程主要包括如下内容: 1. BeginInvoke和EndInvoke方法 2. Thread类 3. 线程池 4. 线 ...
- JAVA面向对象编程课程设计——web版斗地主
一.团队课程设计博客链接 JAVA面向对象编程课程设计--网络版单机斗地主 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记 ...
- TCP heart
http://blog.csdn.net/lisonglisonglisong/article/details/51327695
- Run-time Settings 运行时设置
1.执行顺序设置和执行概率设置 2.迭代之间的等待时间设置 3.日志设置 4.思考时间 5.杂项 线程进程选择: 一般服务器没有安全机制选择线程执行 但是有安全机制的话 比如第一个进程50个线程 第二 ...
- while循环优化版本-for循环
for i in range(0,10): if i <3: print("loop ",i) else : continue print("hehe...&quo ...
- pythonNet08
线程通信 通信方法:多个线程共用进程空间,所以进程的全局变量对进程内线程均可见.线程往往使用全局变量进行通信 注意事项:线程间使用全局变量进行通信,全局变量为共享资源,往往需要同步互斥机制 线程的同步 ...
- python之解析json
json的格式是一个无序的键值对的集合,对象以{}包含,键值中间用:隔开,两个键值对之间用,隔开,值可以是双引号引起来的字符串(string),数值(number),true,false,null,对 ...
- python 画直方图
import numpy as npimport matplotlib.pyplot as plt def sample_data(size,length=100): data=[] for i in ...
- go_结构体和方法
面向对象:go语言仅支持封装不支持继承和多态 所以go语言没有class,只有struct(结构体) 无论地址还是结构本身,一律用 . 来访问成员 go语言编译器可以自动区分是值传递还是指针传递,值传 ...