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:\apps
adb环境变量
path地址自行配置


 第一步,配置无线连接

1、获取手机信息
手机连接电脑,使用adb命令

adb devices

如果弹出

Python wifi 安装手机app


证明连接成功

注意:

安卓手机第一次连接的时候可能没有反应,因为驱动没有安装

下载任意一个手机助手(360,腾讯,91等)然后重新连接手机即可



2、将手机设置成无线调试
adb tcpip 5559
5559是参数,5555-5585里,任意一个奇数都可以

Python wifi 安装手机app


3、连接端口
查看手机wifi地址,(我的是192.168.31.176)
adb connect 192.168.31.176:5559

成功后,拔掉数据线

Python wifi 安装手机app

如图,如果connect的时候,不加端口号,会提示错误

这时,手机已经可以无线调试了
注意,有些手机锁屏时会断掉wifi,所以最好的做法,手机设置充电的时候不锁屏


第二步,使用Python


py导入os 通过os.system
先来看下os.system是啥
def system(*args, **kwargs): # real signature unknown
    """ Execute the command in a subshell. """
    pass
Python wifi 安装手机app
大概意思,就是调用系统的子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和启动页,没准还可以继续尝试

在一个,如果可以再次封装的话,实用性可能会大大提高

没解决的点,多设备的安装...如果有大神看到这篇文章,还希望可以指点一二