grid是進行分布式測試的工具,由一個hub主節點和若干個node代理節點組成
1.下載Selenium Standalone Server
下載地址:https://www.seleniumhq.org/download/

2.啟動hub和節點
#hub默認端口是4444,node默認端口是5555
java -jar selenium-server-standalone-3.141.59.jar -role hub
#本機注冊節點
java -jar selenium-server-standalone-3.141.59.jar -role node
#本機指定端口注冊節點
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5556
#遠程機器注冊節點
java -jar selenium-server-standalone-3.141.59.jar -role node -port 5557 -hub http://192.168.63.143:4444/grid/register

節點注冊地址: http://192.168.63.143:4444/grid/register/
hub管理地址: http://192.168.63.143:4444/grid/console
3.查看后台http://192.168.63.143:4444/grid/console

4.實例1:編寫自動化測試腳本
from selenium.webdriver import Remote
driver = Remote(command_executor="http://127.0.0.1:4444/wd/hub",
desired_capabilities={'platform':'ANY',
'browserName':'chrome',
'version':'',
'javascriptEnabled':True})
driver.get("http://www.baidu.com")
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys("hello")
driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
driver.quit()
修改腳本以在不同的瀏覽器上運行
from selenium.webdriver import Remote
from time import sleep
lists={'http://192.168.63.143:4444/wd/hub':'chrome',
'http://192.168.63.143:5555/wd/hub':'firefox'}
for host,browser in lists.items():
print(host,browser)
driver = Remote(command_executor=host,
desired_capabilities={'browserName': browser,
'platform': 'ANY',
'version':'',
'javascriptEnabled':True
}
)
driver.get("http://www.baidu.com")
driver.find_element_by_xpath("//input[@id='kw' and @class='s_ipt']").send_keys(browser)
driver.find_element_by_xpath("//input[@value='百度一下' and @id='su']").click()
sleep(3)
result_text = driver.find_element_by_xpath("//span[@class='nums_text']").text
assert "百度為您找到相關結果約" in result_text
driver.quit()
5.瀏覽器內核
瀏覽器最重要或者最核心的部分是Rendering Engine,即渲染引擎,習慣成為渲染引擎。所謂的瀏覽器內核,決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。
