docker中搭建stf环境

一、stf环境安装

1.拉取stf相关镜像

docker pull devicefarmer/stf:latest       #拉取STF镜像(一般拉取这个openstf/stf:latest)
docker pull sorccu/adb:latest        #拉取adb 镜像
docker pull rethinkdb:latest         #拉取rethinkdb 镜像

说明:

        默认拉取最新版openstf/stf:latest,我当时对应的stf版本是3.4.0;如果使用android 11的手机,远程连接后,会报错

Setup had an error Error: At least one of these paths should exist: /app/node_modules/minicap-prebuilt-beta/prebuilt/arm64-v8a/lib/android-30/minicap.so, /app/node_modules/minicap-prebuilt-beta/prebuilt/arm64-v8a/lib/android-30/minicap.so, /app/node_modules/minicap-prebuilt-beta/prebuilt/armeabi-v7a/lib/android-30/minicap.so, /app/node_modules/minicap-prebuilt-beta/prebuilt/armeabi-v7a/lib/android-30/minicap.so, /app/node_modules/minicap-prebuilt-beta/prebuilt/armeabi/lib/android-30/minicap.so, /app/node_modules/minicap-prebuilt-beta/prebuilt/armeabi/lib/android-30/minicap.so

这时需要使用devicefarmer/stf:latest,因为最新的devicefarmer/stf:latest是解决了adk 30的连不上的问题,具体说明参考​​​​​​https://github.com/openstf/stf/issues/1267

2.查看镜像

docker images

docker中搭建stf环境_第1张图片

 3.启动镜像

一定要以下顺序启动

docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
docker run -d --name stf --net host devicefarmer/stf stf local --public-ip 192.168.1.1

说明:

        192.168.1.1是你电脑的ip地址

4.查看是否启动成功

docker ps

二、设备连接

        如果是在服务器上安装的stf,需要将本地的安卓设备映射上去,需要做以下操作

1.本地要有adb环境

电脑连接安卓设备后,打开usb调试模式

检测设备是否连接

adb devices

 启动本地的adb server

adb nodaemon server -a

docker中搭建stf环境_第2张图片

2.stf服务器检测安卓设备

docker exec -it stf /bin/sh

进入stf后,运行

stf provider --name xxxx --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114
--connect-push tcp://127.0.0.1:7116 --group-timeout 900 --public-ip 192.168.1.2 --storage-url http://localhost:7100/ --adb-host 192.168.1.3 --adb-port 5037 --vnc-initial-size 600x800 --mute-master never

说明:

        192.168.1.2是stf所在机器的ip

        192.168.1.3是连接安卓设备的电脑ip 

 

        stf provider。。。。命令是从stf的log中捞出来的,执行命令docker logs -f stf,会看到stf provider....一长串的信息,根据需要修改这一长串信息就可以自己用了。

运行stf provider...就可以检测到本地的安卓设备了

stf平台地址:http://服务器IP:7100

docker中搭建stf环境_第3张图片

 

你可能感兴趣的:(Linux,docker)