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

wangpengfei100 · 2018年08月13日 · 最后由 wangpengfei100 回复于 2018年08月26日 · 2060 次阅读
本帖已被设为精华帖!

前段时间在树莓派上运行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 吧。

共收到 13 条回复 时间 点赞

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

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

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

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

harsayer 回复

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

watchdog 回复

公司业务引导选型

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

膜拜wangpengfei100大神😱 😱 😱 😱

liuyan 在树莓派上安装 airtest 踩坑之个人实践 中提及了此贴 08月15日 08:35
10楼 已删除

烦死哒撒撒发的

fdsa fafdfda

13楼 已删除

fdsadfs afds

16楼 已删除

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

zhonglinlins 回复

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

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册