虚拟机ubantu下的stf安装与问题解决
STF安装部署
第一,第一步先下载安装docker。后续采用docker安装STF的整个环境。
安装Docker
sudo apt-get update
# 更新软件包
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 安装Docker
如果遇到问题可参考如下文章探索
-https://www.cnblogs.com/songxi/p/12788249.html
第二,启动docker拉取安装所需的STF的镜像。过程中可能有问题可随时使用logs命令查看容器报错。
sudo docker pull openstf/stf:latest
# STF镜像
sudo docker pull sorccu/adb:latest
# adb 镜像
sudo docker pull rethinkdb:latest
# rethinkdb 镜像
sudo docker pull openstf/ambassador:latest
# ambassador 镜像
sudo docker pull nginx:latest
# nginx 镜像
第三,运行对应的容器,启动顺序按:启动rethinkdb -> 在启动adb -> 在启动openstf
1.启动rethinkdb 数据库
sudo docker run --restart=always -d --name=rethinkdb --net=host -v /srv/rethinkdb:/data rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
# -d 静默后台启动 ,--name 重命名, -v 挂载文件 --net 网络模式host
2.启动adb
sudo docker run --restart=always -d --name=adbd --privileged --net=host -v /dev/bus/usb:/dev/bus/usb sorccu/adb:latest
#启动adb
3.启动openstf
sudo docker run -d --name=stf --net=host openstf/stf stf local --public-ip 192.168.1.108
#192.168.1.108 为虚拟机的IP地址,此模式只能在虚拟机上启动STF
如果需要开启在其他设备也可访问的stf需要设置remote模式:
sudo docker run -d --name=stf --net=host openstf/stf stf local --public-ip 192.168.1.108 --adb-host 192.168.1.102 --adb-port 5037 --allow-remote
# 192.168.1.108 为虚拟机IP,192.168.1.102为window地址
PS:虚拟机的IP采用 网桥设置模式,查看方法 ip addr
4.查看安装后的容器状态,是否已成功启动
sudo docker ps -a
#如果STATUS均为 UP XX 则表示已成功运行,如果出现exist XX,则使用 sudo docker logs XXX
查看启动报错
第四,安装成功打开浏览器验证
浏览器输入localhost:7100
用户名admin , 密码 admin@qq.com
遇到的问题
设备这里没有显示设备,STF无法识别到adb
解决:安卓设备安装stfservice.apk,并启动此服务
1.从github上下载APK, https://github.com/openstf/STFService.apk/releases/tag/v2.4.3
2.使用adb install -r 安装
3.使用命令启动此服务
adb shell am start -n jp.co.cyberagent.stf/.IdentityActivity
adb shell am startservice -n jp.co.cyberagent.stf/.Service
4.虚拟机的USB设置需要设置为安卓