docker創建appium容器並連接夜神模擬器


查找鏡像

使用docker search命令可以搜索appium鏡像

docker search appium

拉取鏡像

docker pull appium/appium

在拉取鏡像的時候,碰到了報錯Could not reach any registry endpoint,有人說這可能是docker版本太低導致的,由於Centos6支持的docker版本有限,所以換了個Centos7繼續pull。centos7安裝docker請戳這里-->《Centos7下安裝Docker(詳細安裝教程)》
還有一個問題,使用DaoCloud配置鏡像加速器拉取appium真是慢的一批,最后配置了阿里雲鏡像加速器。配置阿里雲加速請戳這里-->《CentOS下安裝docker並使用阿里雲鏡像加速器》

啟動容器

啟動appium容器,並將端口映射為4723,名稱命名為appium_1

docker run --privileged -d -p 4723:4723 --name appium_1 appium/appium

# --privileged:使用該參數,容器內的root擁有真正的root權限,否則容器內的root只是外部的一個普通用戶權限
# -d:以分離模式啟動容器,分離模式指的是在后台運行,而前景模式指的是在前台運行。默認分離模式設置為False
# -p:指定要映射的ip和端口。支持的格式有:hostPort:containerPort,ip:hostPort:containerPort,ip::containerPort。這里用的是第一種:4723:4723,指的是將本地(centos7)的5000端口映射到容器的5000端口
# --name:為容器指定一個名字

查看運行狀態的容器

docker ps

安裝jdk

我的Centos7上已經安裝好了jdk,如果沒有安裝的請戳這里-->《Centos7安裝JDK8以及環境配置》

安裝adb

沒有安裝的請戳這里-->《centos7安裝adb》

模擬器設置

更改連接方式

將夜神模式其的usb連接方式更改為tcpip的方式

C:\Users\beck
λ adb devices
List of devices attached
127.0.0.1:62025 device

C:\Users\beck
λ adb -s 127.0.0.1:62025 tcpip 6666
restarting in TCP mode port: 6666

更改橋接

打開系統設置-->屬性設置-->網絡設置,勾選開啟網絡橋接模式,這時需要先裝個插件,安裝好后選擇靜態IP,由於我的模擬器是安裝在windows系統上,windows系統ip為192.168.0.101,這里我設置為192.168.0.126,設置網關192.168.0.1,點擊保存設置,重啟模擬器

重啟后,關閉WLAN,再打開,點擊設置,查看ip地址,可以看到ip變為192.168.0.102

這里不知道是不是夜神模擬器的問題,橋接后ip並未改變過來,所以又重新把橋接的ip從192.168.0.126設置為192.168.0.102

docker連接模擬器

docker exec -it appium_1 adb connect 192.168.0.102:6666

# docker exec:在運行的容器中執行命令
# -i:即使沒有附加也保持STDIN打開
# -t:分配一個偽終端

看到connected to 192.168.0.102:6666,說明已連接成功

參考文章

《「docker實戰篇」python的docker-創建appium容器以及設置appium容器連接安卓模擬器(31)》
《Docker:Docker Appium 鏡像連接夜安卓神模擬器,並處理 connection refused 異常》
《Docker exec 命令》


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM