selenium grid配置以及踩过的坑

selenium grid是一种可提供远程调用的自动化测试工具,公司项目需要自动访问一个网站做一些操作,所以拿来用了。

原理:selenium grid是通过一个类似中转站的环境来分配不同的请求到其他环境来执行,也可以只使用一个环境既做hub中转,也做node执行请求,因为不是做测试,所以我就在一个环境配置了。

selenium grid环境配置:

准备:

selenium-server-standalone-3.9.1.jar下载地址:

jdk1.8(selenium-server-standalone-3.9.1.jar版本需要jdk1.8及以上)

谷歌驱动chromedriver(一定要与node配置环境的chrome版本对应!一定要对应!一定要对应!重要的事情说三遍!

驱动下载地址:https://npm.taobao.org/mirrors/chromedriver

从70的驱动开始就跟谷歌浏览器一致了,好找一些。不一致的可以点进去看notes.txt有版本对应信息。

1,hub配置:

命令行执行

java -jar D:/selenium/selenium-server-standalone-3.9.1.jar  -role hub -maxSession 200 -port 4444

-role hub 声明节点

-maxSession 200 最大会话数量

-port 4444 端口号

2,node配置

命令行执行

java -jar D:/selenium/selenium-server-standalone-3.9.1.jar -role node -port 5555 -hub http://hub的ip:4444/grid/register -maxSession 200 -browser browserName=chrome,version=73,seleniumProtocol=WebDriver,maxInstances=200

-port 5555 端口号

-browser browserName=chrome,version=73  node环境的浏览器信息

-maxSession 200 最大会话数量

maxInstances200 最大实例数量

node环境一定要把驱动chromedriver放在C盘Windows目录下

两个命令执行完是不能关闭的。

成功后应该能在hub环境访问http://ip:4444/grid/console,应该能看到

如果在执行代码时出现

Exception in thread "Thread-1" org.openqa.selenium.WebDriverException: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"69F5D7B566839FC7A6DD12EAFB3F8061","isDefault":true,"type":"default"},"id":1,"name":"","origin":"://"}
  (Session info: chrome=73.0.3683.86)
  (Driver info: chromedriver=2.7.236900,platform=Windows NT 6.1 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds

明显的是chromedriver驱动版本跟chrome版本不对应。

驱动的设置目前看网上说的写在代码里如:

System.setProperty("webdriver.chrome.driver",projectPath+"/WEB-INF/lib/chromedriver.exe");

并没有生效。

配置在环境变量也没有生效

目前我的解决办法是放在C盘Windows目录下(然后命令行输入chromedriver 看到新的版本已经生效,再执行代码久没问题了)

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值