支付宝转账接口流程

1.安装adb和jdk

uiautomator2
uiautomator
语言:java
功能:Android自动化测试工具,可完成安卓机的各项操作
uiautomator2
语言:pyhton
功能:Android自动化测试工具,可完成安卓机的各项操作
底层:Google uiautomator
能完成的操作有:
安装软件、启动软件、关闭软件
单击、双击、长按滑动
移动文件
shell命令
返回、home键、菜单键、音量、相机等。
解锁、旋屏、截图

ATX
uiautomator程序守护
atx-agent实际上还是一个http服务器,运行在电脑上的python程序使用HTTP协议跟手机上atx-agent通信,atx-agent随后启动uiautomator.apk这个应用,将收到的请求转换成UiAutomator的UI自动化操作。

python脚本
导包

import uiautomator2 as u2

连接 atx

# 0.0.0.0 为本机,127.0.0.1这个也行,这个连接是在手机上运行的
d = u2.connect('http://0.0.0.0:7912')
# 如果远程操作,就填入手机ATX显示的ip,下面有图
# d = u2.connect('http://172.17.2.237:7912')

python

启动app

# 字符串为包名,下面有获取包名教程
sess = d.session("com.tencent.wework")

获取包名 先通过线连,然后打开usb调试,再电脑命令行(先安装adb)

adb shell dumpsys activity | grep -i run

adb

此时看到的一排Run里面的第一个就是当前打开的软件包名,下面那个就是上一次打开的软件包名,往下以此类推,这里我们看到第一个的包名,也就是微信com.tencent.mm,这里我们用企业微信做示范,所以不用它,用第二个。也就是com.tencent.wework
模拟点击

def my_click(sess, ele, timeout=3):
    ele.wait(timeout=timeout) # 等待超时,因为可能此时界面动画,或者反映迟钝,该控件还没出现
    x, y = ele.center() # 找到该空间的中间坐标
    sess.touch.down(x, y) # 在此坐标按下
    time.sleep(0.3)
    sess.touch.up() #等待3秒后抬起
def click_search_btn(sess):
    ele = sess(resourceId=package_name+":id/e3g", #找到该空间的id
               className="android.widget.TextView",# 找到该空间的类名
               instance=0) #如果根据属性查找有多个控件,则找第一个
    my_click(sess, ele, 20)
click_search_btn(sess)

python

输入搜索

    print('begin to input')
    ele = sess(resourceId="com.tencent.wework:id/dpu", className="android.widget.EditText")
    ele.set_text(phone) # 将手机号填入
    print('end to input')
    time.sleep(2)
    # print(u"点击搜索")
    # 点击搜索
    sess(resourceId="com.tencent.wework:id/azq",
               className="android.widget.RelativeLayout").child(className="android.widget.TextView").click() # 因为该控件没有id,所以先找它爹,再找它爹的儿子控件,.click()直接触发点击事件。
    ele1 = sess(resourceId="com.tencent.wework:id/sa",
                   className="android.widget.TextView")
    ele1.get_text() # 获取标签文本内容

python

adb取标签

要先把ATX服务给停掉,不然取不到。

首先下载adb,在adb的tools文件夹内,打开monitor

adb

然后点击手机,再点击Dump vive.

adb_Dumpvive

点击控件,即可显示id和classname

获取id
实际工作流程
1、给手机安装软件

离线
    将init_machine.sh,及android_package.zip上传至/data/local/tmp目录下
    给手机安装termux,此为命令行工具,打开软件
    输入su,切换至管理员账户
    输入cd data/local/tmp,因为云手机不能打/符,所有用tab键来凑齐。
    输入sh init_machine.sh,即可安装好软件和服务
usb线连
    在电脑上输入python -m uiautomator2 init即可
    2、打开ATX
    打开ATX 点击"启动uiautomator"
    3、打开QpythonL
    一定要先打开这个软件,不然你python脚本会上传不成功,

打开软件后的顺序为:

文件
scripts

4、上传脚本

将auto_test.py和wx_helper.py上传至/storage/emulated/0/qpython/scripts文件夹下
5、运行脚本

打开QpythonL点击auto_test.py文件,点击下方的三角符号

本文链接:http://172.17.0.88:8360/post/wx_uiautomator2.html

– EOF –

作者 admin 发表于 2019-03-04 12:56:46 ,并被添加「 微信 」标签 ,最后修改于 2019-03-04 14:15:59
« 欢迎使用 Firekylin
各服务端口说明 »
Comments

请在后台配置评论类型和相关的值。

猜你喜欢

转载自blog.csdn.net/b806071099/article/details/88682619