Python wifi 安装手机app
目的
当测试机数量越来越多时,测试包的安装会成为一个问题,用wifi安装来解决这个问题,并且用脚本语言来批量控制思路
思路就是py调用pc端的adb命令,向手机发送请求,无线是因为,如果未来测试机越来越多,一台电脑的usb接口数量肯定不够
准备工具
python,adb,
pycharm,
测试用app,这里选择qq(https://qd.myapp.com/myapp/qqteam/AndroidQQ/mobileqq_android.apk)
物理设备
一个wifi(确保手机和电脑在同一个网段)一部手机(这里选择三星s8)
一台mac或者win
环境配置
测试app地址F:\appsadb环境变量
path地址自行配置
第一步,配置无线连接
1、获取手机信息手机连接电脑,使用adb命令
adb devices
如果弹出
证明连接成功
注意:
安卓手机第一次连接的时候可能没有反应,因为驱动没有安装
下载任意一个手机助手(360,腾讯,91等)然后重新连接手机即可2、将手机设置成无线调试
adb tcpip 5559
5559是参数,5555-5585里,任意一个奇数都可以
3、连接端口
查看手机wifi地址,(我的是192.168.31.176)
adb connect 192.168.31.176:5559
成功后,拔掉数据线
如图,如果connect的时候,不加端口号,会提示错误
这时,手机已经可以无线调试了注意,有些手机锁屏时会断掉wifi,所以最好的做法,手机设置充电的时候不锁屏
第二步,使用Python
py导入os 通过os.system
先来看下os.system是啥
def system(*args, **kwargs): # real signature unknown
""" Execute the command in a subshell. """
pass
大概意思,就是调用系统的子shell
没关系能用就好
代码格式如下
os.system('adb devices')
''内放入adb命令恩,大概会用了之后,就可以实现功能了
稍后将代码贴上github
简单代码如下
#encoding:utf-8 import os os.system('adb devices') os.system('adb install f:/apps/mobileqq_android.apk')
这玩意,花了我半天时间,目前看起来是个毫无作用的技能点,因为wifi传输速度的限制,手机上需要等待好几分钟才能看到qq,如果有什么方式可以改变传输速度,这个技能大概就有意义了
另外,启动app的命令 adb start am start 需要root权限,所以实用性太低了
如果可以要到apppackage和启动页,没准还可以继续尝试
在一个,如果可以再次封装的话,实用性可能会大大提高
没解决的点,多设备的安装...如果有大神看到这篇文章,还希望可以指点一二