selenium grid 環境搭建


 

一、selenium grid簡介

        selenium grid可以同時在不同機器上測試不同瀏覽器,包含一個hub和多個node。node會發送配置信息到hub,hub記錄並跟蹤每一個node的配置信息,同時hub會接受到即將被執行的測試用例及其相關信息,並通過這些信息自動選擇可用的且符合瀏覽器與平台搭配要求的node,node被選中后,測試用例所調用的selenium命令就會被發送到hub,hub再將這些命令發送到指定給該測試用例的node,之后由node執行測試。

圖 1. Selenium Grid2 的機制

二、環境准備

1、

 A、在不同的測試集群機上,分別安裝不同類型的瀏覽器和相應的驅動。並配置好環境變量(將瀏覽器驅動driver配置進PATH變量中)。

 B、安裝java的jre環境並配置環境變量。

2、selenium-server-standalone-XX.XX.jar 下載

在https://selenium-release.storage.googleapis.com/index.html找到適配的版本並將其放到pc的某一個目錄下;

3、進入放置selenium-server-standalone-XX.XX.jar的目錄,啟動Hub(192.168.0.41):

(不管是要使用WebDriver功能的網格還是RC功能的網格還是同事使用兩者,都是使用selenium-server-standalone 的jar文件來啟動節點。命令如下:)

java -jar selenium-server-standalone-3.10.0.jar -role hub

在pc1的瀏覽器內打開:http://192.168.0.41:4444/grid/console  可以查看Hub狀態。也就是說Grid默認啟動端口是4444,如果想切換為其他端口,則加-port參數。比如要切換為8888:

java -jar selenium-server-standalone-3.10.0.jar -role hub  -port 8888

4、進入放置selenium-server-standalone-XX.XX.jar的目錄,啟動Node(192.168.0.42):

java -jar selenium-server-standalone-2.27.0.jar -role node -hub http://192.168.0.41/grid/register

同樣的,也可以使用-port切換node端口,默認端口是5555. 
此處的node節點,也可以作為一個單機的遠程節點存在,並同時支持RC,WebDriver。瀏覽器輸入http://192.168.0.42/wd/hub可以看到session信息。

然后,同樣的啟動其它ip的Node節點。

打開瀏覽器:http://192.168.0.41:4444/grid/console ,可以看到注冊的節點、

5、

四、環境測試

編寫python腳本:

# coding=utf-8
from selenium import webdriver
import os

chrome_driver = os.path.abspath(r"C:\software\chromedriver")
os.environ["webdriver.chrome.driver"] = chrome_driver
chrome_capabilities = {
"browserName": "chrome", # 瀏覽器名稱
"version": "", # 操作系統版本
"platform": "ANY", # 平台,這里可以是windows、linux、andriod等等
"javascriptEnabled": True, # 是否啟用js
"webdriver.chrome.driver": chrome_driver
}
driver = webdriver.Remote("http://node_ip:5555/wd/hub", desired_capabilities=chrome_capabilities)
# driver.set_window_size(1280,720)
driver.get("http://www.baidu.com")
print(driver.title)
driver.quit()

node_ip  需要修改成自己的node ip地址;

成功運行結果如下圖:

node端日志:

 


免責聲明!

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



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