测试知识整理合集移动端测试相关

Docker 搭建 STF 真机平台

2021-10-20  本文已影响0人  思念_似水流年

一、拉取相关镜像

# stf 镜像
docker pull devicefarmer/stf:latest

# adb 镜像
docker pull sorccu/adb:latest

#rethinkdb镜像
docker pull rethinkdb:latest

#ambassador 镜像
docker pull openstf/ambassador:latest

#nginx 镜像
docker pull nginx:latest

devicefarmer/stf 目前还在维护,建议拉取该镜像

二、查看已获取到的镜像

ln@ln:~$ docker images
REPOSITORY           TAG       IMAGE ID       CREATED        SIZE
nginx                latest    62d49f9bab67   4 weeks ago    133MB
rethinkdb            latest    0c4250c5b26a   4 weeks ago    131MB
hello-world          latest    d1165f221234   2 months ago   13.3kB
openstf/ambassador   latest    938a816f078a   8 months ago   8.63MB
devicefarmer/stf          latest    91d0ab894aff   9 months ago   958MB
sorccu/adb           latest    7123ee61b746   3 years ago    30.5MB

三、STF 容器启动

1. 启动数据库

docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090

2. 启动 adb 服务

docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest

3. 查看虚拟机IP

ifconfig # 查看服务器 ip 地址

root@liunian-VirtualBox:/home/liunian# ifconfig

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255

        ether 02:42:8a:ab:f3:b4  txqueuelen 0  (以太网)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255

        inet6 fe80::f1a0:80b4:1ff5:b113  prefixlen 64  scopeid 0x20<link>

        ether 08:00:27:00:80:35  txqueuelen 1000  (以太网)

        RX packets 39765  bytes 47999986 (47.9 MB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 10166  bytes 3141915 (3.1 MB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 192.168.137.2  netmask 255.255.255.0  broadcast 192.168.137.255

        inet6 fe80::46d:96cd:6fbe:2d7c  prefixlen 64  scopeid 0x20<link>

        ether 08:00:27:63:a0:a6  txqueuelen 1000  (以太网)

        RX packets 67589  bytes 40431917 (40.4 MB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 61628  bytes 45632460 (45.6 MB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 1000  (本地环回)

        RX packets 498746  bytes 46718769 (46.7 MB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 498746  bytes 46718769 (46.7 MB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

4. 启动 STF 服务

注意:

docker run -d --name stf --privileged=true --net host devicefarmer/stf stf local --public-ip 192.168.137.2 --adb-host 192.168.137.127 --adb-port 5037 --allow-remote

5. 宿主机需要开启 5037 端口

adb nodaemon server -a -P 5037

6. 使用宿主机上连接的设备

stf provider --name virtualBox_ln --min-port 7400 --max-port 7700 --connect-sub tcp://192.168.137.2:7114 --connect-push tcp://192.168.137.2:7116 --group-timeout 20000 --public-ip 192.168.137.2 --storage-url http://192.168.137.2:7100/ --adb-host 192.168.137.127 --adb-port 5037 --vnc-initial-size 600x800 --mute-master never --allow-remote

7. 查看镜像启动情况

ln@ln:~$ docker ps
CONTAINER ID   IMAGE               COMMAND                  CREATED         STATUS          PORTS     NAMES
585fb7d89895   devicefarmer/stf         "stf local --public-…"   4 seconds ago   Up 4 seconds              stf
8bc011a06ddd   sorccu/adb:latest   "/sbin/tini -- adb -…"   7 hours ago     Up 27 minutes             adbd
d26de594508e   rethinkdb           "rethinkdb --bind al…"   7 hours ago     Up 28 minutes             rethinkdb

四、关闭防火墙

只有关闭 ubuntu 的防火墙,宿主机才能访问虚拟机上的服务

ln@ln:~$ systemctl stop firewalld.service

五、访问 STF

http://192.168.137.2:7100/

六、关机后,下次再启动服务

直接使用docker start rethinkdb/adbd/stf来启动服务 或者使用docker stop rethinkdb/adbd/stf来停止服务

可以用 docker rm rethinkdb/adbd/stf来删除容器

上一篇 下一篇

猜你喜欢

热点阅读