一、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
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
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