1. 程式人生 > >"http://127.0.0.1:4723/wd/hub"的解釋

"http://127.0.0.1:4723/wd/hub"的解釋

csft pad div uga find 初始 pre oid 代碼

先補充一個內容,就是appium安裝時候的環境變量配置,必須要配ANDROID_HOME這個變量,不是“要配置”,是“必須配置”,其他的那些放到系統變量的path裏就可以了:

技術分享圖片

# coding: utf-8

from appium import webdriver
from time import sleep desired_caps = {‘platformName‘: ‘Android‘,
‘deviceName‘: ‘127.0.0.1:62001‘,
‘platformVersion‘: ‘23‘,
‘appPackage‘: ‘com.tencent.news‘,
‘appActivity‘: ‘com.tencent.news.activity.SplashActivity‘,
‘unicodeKeyboard‘: True,
‘resetKeyboard‘: True}
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)

上面代碼最後的請求地址是"http://127.0.0.1:4723/wd/hub",下面我們來解釋一下哈:

127.0.0.1

127.0.0.1是環回(loopback)地址,用來測試本機的TCP/IP協議棧,比如你在cmd裏輸入:ping 127.0.0.1:

技術分享圖片

看到的就是向本機發送請求包,這個請求只會在你的本地跑,不會通過網絡發送出去。

“本地”,你一定還想到了localhost,打開你的hosts文件(右鍵選擇用notenotepad++打開):

技術分享圖片

可以看到:

技術分享圖片

是的,127.0.0.1和localhost的是“等價的”:

localhost是個域名,性質跟 “www.baidu.com” 差不多。(不能直接綁定套接字,必須先gethostbyname)轉成IP才能綁定——括號裏的字我也不太明白。也就是說你的localhost默認的ip就是127.0.0.1。

現在我們就可以這樣理解了,地址寫127.0.0.1的意思就是要在本地進行訪問:

技術分享圖片

我們把地址直接寫成localhost,這樣也是可以調通的。

端口號:4723

這個值不是固定的,唯一的要求就是——不要沖突,你可以在cmd你查看目前占用的端口號,輸入命令

netstat -ano查看所有端口占用;
netstat -ano | findstr “4723” 查看4723端口號被哪個程序占用

技術分享圖片

也可以打開你的appium:

技術分享圖片

在這裏就可以修改端口號了,但是你在這裏怎麽改端口號,那麽你代碼裏就要對應的修改端口號。

/wd/hub

我們來看源碼:

技術分享圖片

可以看到,WebDriver類在初始化時也定義了一個地址,除了端口號不一樣其它的和我們傳的是一樣的。因此我們就可以簡單的把/wd/hub理解為——規定。

微信公眾號搜索“自動化測試實戰”或掃描下方二維碼添加關註~~~

技術分享圖片

"http://127.0.0.1:4723/wd/hub"的解釋