標籤:explore exp server turn html pytho jar 搜尋 dex
5.1 分布式(Grid)
Selenium grid是用來分布式執行測試案例指令碼的工具,比如測試人員經常要測試多瀏覽器的相容性,那就可以用到grid了。下面就來介紹如何在多個瀏覽器上運行同一份指令碼。
使用grid所需要的檔案:1.Selenium server(即selenium-server-standalone-x.xx.x.jar);2.grid設定檔(該檔案負責提供主機和瀏覽器資訊);3.測試指令碼。
一、先來看看grid設定檔的內容:
def grid(): d={‘http://127.0.0.1:4444/wd/hub‘ : ‘firefox‘, ‘http://127.0.0.1:5555/wd/hub‘ : ‘internet explorer‘, } return d
該檔案定義了一個方法,該方法存放了一個字典,分別給本機分配了2個不同的連接埠並指定了不同的瀏覽器(4444是grid hub的預設連接埠,5555這個是一個node的連接埠,後續會介紹)。
二、再來看看測試指令碼:
該指令碼是寫了一個百度搜尋關鍵詞並做了簡單斷言的指令碼,匯入的grid_module就是第一步中的grid設定檔,迴圈體中寫的是從字典中取出主機名稱和瀏覽器名賦給下面的參數,這樣的話該測試指令碼就會接連調用本地的2個指定瀏覽器並運行。
3.然後就啟server了,從http://selenium-release.storage.googleapis.com/index.html上下載對應版本的Selenium server:
下載下來後開啟cmd,輸入Java -jar selenium-server-standalone-x.xx.x.jar -role hub,這是萬惡之源,先啟它才能幹後面的事。啟動之後再開啟一個cmd,輸入java -jar selenium-server-standalone-x.xx.x.jar -role node -port 5555,這是啟動第一個node,指定連接埠5555,與grid設定檔中所寫的連接埠一致。
hub和node啟動好之後我們在瀏覽器裡輸入http://127.0.0.1:4444/grid/console,開啟grid的控制台:
我們能看到有一個連接埠為5555的node已經啟動起來了,此處的IP就是本機IP。
python+selenium自動化軟體測試(第5章):Selenium Gird