配置环境
首先到官网下载selenium server的jar包,因为java开发的所以要有java环境
hub主机操作远程node的要求如下:
-
本地hub所在主机与远程node所在主机之间可以ping通
-
远程主机必须安装java环境,因为需要运行selenium server
-
远程主机必须安装执行测试脚本所需要的浏览器
启动hub和node
启动本地hub所在主机(192.168.2.10)
java -jar selenium-server-standalone-x.xx.x.jar -role hub -port 4444
启动远程node所在主机(192.168.2.18),连接到hub
java -jar selenium-server-standalone-x.xx.x.jar -role node -port 5555 -hub http://192.168.2.10:4444/grid/register
如果还需要启动多个node的话,就按照上面这个写,端口号修改成不同的就好了
可以在主机浏览器地址栏输入localhost:4444/grid/console查看服务器信息
编写测试脚本并远程运行
此处以Python为例:
from selenium import webdriver
# 一些配置信息
chrome_capabilities = {
"browserName": "chrome", # 浏览器名称
"version": "", # 操作系统版本
"platform": "ANY", # 平台,这里可以是windows、linux、andriod等等
"javascriptEnabled": True, # 是否启用js
}
# 此处使用webdriver.Remote远程操作,和webdriver.Chrome()作用一样,传入node地址
driver = webdriver.Remote("http://192.168.2.18:5555/wd/hub", desired_capabilities=chrome_capabilities)
driver.get("http://www.baidu.com")
print(driver.title)
driver.quit()
正常的话 可以看到远程主机的测试活动