python连接手机实现自动化

@

【前期准备】

https://developer.android.google.cn/studio/releases/platform-tools.html?hl=zh_cn下载adb.exe
华为手机,打开设置,关于手机,连续点5-7下版本号,输入锁屏密码进入开发者模式,上个菜单,点开发者选项,usb调试下面选择“仅为充电” 开始调试,插入usb线,手机把(usb调试)打开,询问是否信任,点信任
python 通过pip下载了 uiautomator2 ,并且输入命令python uiautomator2 init 成功。
下图是在手机上安装apk。记住要去手机操作同意安装
python连接手机实现自动化_第1张图片

【实施方法】

手机和电脑同时连接到同一个wifi上
1、开启远程adb
#开启远端adb,这一步需要手机通过USB连接到电脑
adb tcpip 5555
#结果如下:restarting in TCP mode port: 5555
#然后断开USB
adb connect 192.168.31.173:5555
#其中192.168.31.173是手机的局域网IP地址
adb devices
#确认可以看到设备信息

2、通过adb命令启动uiautomator2的agent

db shell /data/local/tmp/atx-agent -d
3、通过uiautomator2脚本连接手机执行用例

import uiautomator2 as u2
d = u2.connect_wifi(‘192.168.31.173’)
print(d.info)
发现可以成功执行

PS:因为有些操作系统上uiautomator2的agent无法自动拉起,所以需要手动通过adb命令拉起

获取手机的所有应用

# coding: utf-8
import uiautomator2 as u2
def main():
    d = u2.connect('192.168.31.173')     
    #app = d.session("com.tencent.mm")#启动微信并获取session
    #app = d.session("com.eg.android.AlipayGphone")#启动支付宝并获取session
    output, exit_code = d.shell("ps -A", timeout=60) # 执行shell命令,获取输出和exitCode
    output = d.shell("pm list package").output # 这样也可以
    print output
if __name__ == '__main__':
    main()

python连接手机实现自动化_第2张图片

支付宝自动喂食操作

# coding: utf-8
#
import uiautomator2 as u2
import time

d = u2.connect_usb('7XBRX18A26027523')
d(text="支付宝").click()
d(resourceId="com.alipay.android.phone.openplatform:id/app_text", text="蚂蚁庄园").click()
time.sleep(3)
d.click(0.849, 0.865)#粮食位置

你可能感兴趣的:(python)