Airtest 在树莓派上安装 airtest 踩坑记

wangpengfei100 · 2018年08月13日 · 最后由 coolhaul 回复于 2020年02月17日 · 3712 次阅读
本帖已被设为精华帖!

前段时间在树莓派上运行 airtest,也叨扰了讨论群的各位,觉得有必要总结一下,后面人避免踩坑~
前面的可用步骤可以成功安装了,后面的可以选择不看(捂脸)

我的设备:

树莓派 3b arm7l 运行的原装系统 ;

可用步骤:

1. opencv-contrib-python

pip3 install opencv-contrib-python==3.3.0.9 -i https://www.piwheels.org/simple # 安装3309版本
sudo apt-get update #安装依赖库
sudo apt-get install libhdf5-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
sudo apt-get install libqt4-test
sudo apt-get install libqtgui4
sudo apt-get update

python3
import cv2 # 检查导入成功

2. airtest

1.下载下 airtest 源码

git clone https://github.com/AirtestProject/Airtest.git

2.修改 requirement.txt 删除 opencv 那句
3.本地安装 airtest

cd airtest #你的源码文件夹
pip install -e .

3. 检查 airtest 是否可以正常运行

airtest run "path to your .air dir" --device Android:///

4.Poco

下载 poco 源码

git clone https://github.com/AirtestProject/Poco.git

2.修改 requirement.txt 删除 airtest 那句
本地安装 poco

cd poco #你的源码文件夹
pip install -e .

以上步骤做完,可以在树莓派上运行 airtest 跟 poco 项目的脚本 。

=============================================详细思路在下面======================================================================

天真的以为:

pip install -U airtest

美滋滋...

实际上报错 1:

opencv-contrib-python=3.2.0.7 没有适合当前的版本

原因:opencv-contrib-python 的 linux 版本,是使用 manylinux 编译的 linux 版本,所以仅有 x86 架构的,并不支持 arm 架构。

解决方案:在网站 piwheels 上下载对应的 wheels 包,或者直接安装;

pip install opencv-contrib-python==3.2.0.7 -i https://www.piwheels.org/simple

piwheels: piwheels 是 Python 包存储库,为 Raspberry Pi 使用的 ARMv6 和 ARMv7 架构提供轮子(预构建的二进制文件)
以为解决了,美滋滋...

赶紧去欣赏下安装的模块吧。

$python3
$import cv2

依旧报错 2:

ImportError: libhdf5_serial.so.100: cannot open shared object file: No such file or directory
原因:缺少了若干模块
解决方案:直接安装

sudo apt-get update
sudo apt-get install libhdf5-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install libjasper-dev
sudo apt-get install libqt4-test
sudo apt-get install libqtgui4
sudo apt-get update

这次总 OK 了吧,赶紧再次运行 “import cv2” 试一下!

依旧报错 3:

ImportError: /usr/local/lib/python3.5/dist-packages/cv2/cv2.cpython-35m-arm-linux-gnueabihf.so: undefined symbol: hb_buffer_get_glyph_infos
原因:未知,github 上问了原作者,也未知,建议我用新版本
解决方案:换新的版本

pip install opencv-contrib-python==3.3.0.9 -i https://www.piwheels.org/simple

去试一下 导入,终于成功了!

那么,抓紧直接安装 airtest 吧!

尴尬的问题出现了, airtest 的 requirement.txt 里写的 opencv-contrib-python 是 3.2.0.7,所以只能源码下载到本地,注销掉这句话再本地安装。

1.下载下 airtest 源码

git clone https://github.com/AirtestProject/Airtest.git

2.修改 requirement.txt 删除 opencv 那句
3.本地安装

cd airtest #你的源码文件夹
pip install -e .

终于安装成功了。
同理安装 poco。

愉快地 airtest run everything 吧。

共收到 16 条回复 时间 点赞
匿名 #1 · 2018年08月13日

厉害厉害,有安装脚本或者使用文档上的问题,欢迎提 Pull Request 啊大哥

@wangpengfei100 楼主大神 想用树莓派 +airtest 玩什么花样 为什么一定要用树莓派

fdsadfs afds

同 2 楼,我也想知道打算用在什么地方?
只是为了搭建玩,还是有实际用处?

之前我在 Linux 上也踩过很多坑。但是在树莓派上没试过,记录一下

老马 回复

我们可能测试对象更特殊,我们是测试一个 “包含了安卓模块的交互系统”,所以我们的测试更多是系统集成的测试,更多从 rs232 等串口作为连接,有硬件的部分在。
系统层次的测试,纯软件部分的测试覆盖的不够全面,一些功能不方便展开。 如 adb TCP/IP 连接安卓,在做网络切换后,即断掉了与被测机器的连接,串口测试则可以解决。
显示层及其他输出,通过外置设备更贴近用户的感知,这部分的工作,用树莓派去拓展,会更简单。
树莓派基本安装 linux 系统,除了 arm 架构的弊端外,其他与普通发行版 linux 无差异,人员配置上会更轻松,综上我们尝试用树莓派作为载体去做。

群主是狗 回复

公司业务引导选型

思寒_seveniruby 将本帖设为了精华贴 08月13日 21:16

膜拜 wangpengfei100 大神😱 😱 😱 😱

琉丶言 在树莓派上安装 airtest 踩坑之个人实践 中提及了此贴 08月15日 08:35

烦死哒撒撒发的

fdsa fafdfda

树莓派上运行 Airtest 图像识别的速度超慢,要 2s 以上。图像识别部分我改成了服务形式的,在服务器上做,通过网络请求图像识别,一次识别可以控制在 1s 左右。

JamesChung 回复

我也是换成了 socket 去取服务端的运行结果,图像识别慢应该跟 opencv 的版本有关,一个图像要对比两次,第二次才会成功。

JamesChung 回复

你好,请问你这个单独把 airtest 拿出来作为一个服务是怎么个做法啊,可以讲下吗?

A308寝帅 回复

就是把单独的图像识别相关的 python 文件放到服务器上执行啊,没有难度的。

simple 专栏文章:[精华帖] 社区历年精华帖分类归总 中提及了此贴 12月13日 14:44
simple [精彩盘点] TesterHome 社区 2018 年 度精华帖 中提及了此贴 01月07日 12:08

请问各位大佬,linux 系统 python 版本 2.7,64 位的,在安装 opencv_contrib_python 这一步,先后安装 opencv_contrib_python-4.2.0.32-cp27-cp27mu* 的 whl 文件都安装失败,报错信息:
ERROR: opencv_contrib_python-4.2.0.32-cp27-cp27m* is not a supported wheel on this platform.
然后又默默把这个版本所有 cp27 的都试了一遍,全报这个错。随后用版本 opencv_contrib_python-3.2.0.7 也是这个报错。请问这个要怎么解决呢???

16楼 已删除
10楼 已删除
13楼 已删除
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册