【Termux Python3.11开发】安装opencv-contrib-python后终于可以尝鲜airtest,poco

无意看到airtest的一些介绍,正好在找一些工具,Python自动化的轮子,好放在Termux环境下进行测试效果如何,经过一些时间的折腾,总算顺利解决,安装好几个相关的库

点击链接加入群聊【Termux友情赞助群】:897177804

pip install -U airtest -i https://pypi.mirrors.ustc.edu.cn/simple/
pip install pocoui -i https://pypi.mirrors.ustc.edu.cn/simple/

将adb设备激活可见完成,发现运行得到以下结果,将**/data/data/com.termux/files/usr/bin/adb的可执行程序,进行替换/data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb**问题解决

OSError: [Errno 8] Exec format error: ‘/data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb’

找了些示例,测试成功,这次测试的代码主要还是使用shell方式,但看中的是图色识别自动化功能,以后再测试,python运行代码相对其它方式,除了功能强大,稳定运行性也是最重要的,这才是替换一些自动化脚本软件最大的原因.

from airtest.core.api import connect_device
from airtest.core.api import G
from airtest.core.api import *
from poco.drivers.android.uiautomation import AndroidUiautomationPoco

# dev1 = connect_device("Android://127.0.0.1:5037/127.0.0.1:5555")
dev2 = connect_device("Android:///")
poco = AndroidUiautomationPoco(dev2)

poco('com.google.android.calculator:id/digit_1').click()
poco('com.google.android.calculator:id/op_add').click()
poco('com.google.android.calculator:id/digit_1').click()
poco('com.google.android.calculator:id/eq').click()

# 获取控件的“text”属性值
# result = poco('com.google.android.calculator:id/formula').get_text()
result = poco("com.google.android.calculator:id/formula").attr("text")

try:
    assert_equal(result, '21', '1+1=2 ^^')
except AssertionError:
    print("按钮值断言失败")

print("运行结束")

以下是代码运行之后的调试输出信息

/data/data/com.termux/files/home/.virtualenvs/Termux/bin/python /data/data/com.termux/files/home//tmp/pycharm_project_272/actuon_ui/airtest/1.py 
[22:01:57][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb devices
[22:01:57][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb devices
[22:01:57][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 get-state
[22:01:57][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 wait-for-device
[22:01:57][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 shell getprop ro.build.version.sdk
[22:01:57][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 shell dumpsys activity top
[22:01:58][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 shell dumpsys package com.netease.open.pocoservice
[22:01:58][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 forward --no-rebind tcp:19025 tcp:10080
[22:01:58][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 forward --no-rebind tcp:15275 tcp:10081
[22:01:58][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 shell am start -n com.netease.open.pocoservice/.TestActivity
[22:01:58][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 shell am instrument -w -e debug false -e class com.netease.open.pocoservice.InstrumentedTestAsLauncher com.netease.open.pocoservice/androidx.test.runner.AndroidJUnitRunner
按钮值断言失败
运行结束
[22:02:10][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 forward --remove tcp:19025
[22:02:10][DEBUG]<airtest.core.android.adb> /data/data/com.termux/files/usr/lib/python3.11/site-packages/airtest/core/android/static/adb/linux/adb -s 127.0.0.1:5555 forward --remove tcp:15275

进程已结束,退出代码0

在这里插入图片描述

测试使用的软件:com.google.android.calculator.apk
以及代码,放在下载中
点击下载】https://download.csdn.net/download/hexinbo/88111861

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MetaEnchanter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值