selenium - org.openqa.grid.common.exception.GridException:在请求中找不到功能:{“capabilities”:{“browserName”:“Firefox”}}使用Selenium Grid
问题描述
我有一个 Selenium 3.13 网格正在运行:
集线器启动:
/opt/selenium/jre/bin/java -Dwebdriver.firefox.driver=/usr/local/bin/geckodriver -jar /opt/selenium/server/selenium-server-standalone-3.13.0.jar -host 192.168.109.218 -role hub
节点启动:
/opt/selenium/jre/bin/java -Dwebdriver.firefox.driver=/usr/local/bin/geckodriver -jar /opt/selenium/server/selenium-server-standalone-3.13.0.jar -role node -hub http://192.168.109.218:4444/grid/register -port 4445 -browser browserName=Firefox
我希望通过以下 curl 命令使用 /wd/hub/session API 创建一个新会话:
curl -X POST "http://192.168.109.218:4444/wd/hub/session" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"Capabilities\": { \"alwaysMatch\": { \"browserName\": \"Firefox\", } }}"
我不断收到这个错误:
2021-02-05 14:28:34.284:WARN:osjs.HttpChannel:qtp902919927-14: /wd/hub/session java.io.IOException: org.openqa.grid.common.exception.GridException: No capabilities found in request: {
"capabilities": {
"browserName": "Firefox"
}
}
我已经尝试了各种 java(openjdk 和 oracle java)以及最近的 Seleniu 3.9 组合。我查看了文档,没有看到任何我应该添加或更改的内容,但我倾向于问题在于我的能力论点。
谁能指出我正确的方向,或者快速地用“你是个白痴,这是简单的解决方法”的话扇我一巴掌?
解决方案
webdriver.firefox.driver
而不是传递你需要传递的参数:
webdriver.gecko.driver
实际上,启动命令将是:
中心:
/opt/selenium/jre/bin/java -Dwebdriver.gecko.driver=/usr/local/bin/geckodriver -jar /opt/selenium/server/selenium-server-standalone-3.13.0.jar -host 192.168.109.218 -role hub
节点:
/opt/selenium/jre/bin/java -Dwebdriver.gecko.driver=/usr/local/bin/geckodriver -jar /opt/selenium/server/selenium-server-standalone-3.13.0.jar -role node -hub http://192.168.109.218:4444/grid/register -port 4445 -browser browserName=Firefox
推荐阅读
- python - 如何从另一个数组中减去一个数组的每个元素?
- c# - 将生成的大型方法重构为更小的方法?
- r - 将ggplot facet_wrap按组重新排序为列
- c# - 在 asp.net 中使用 JWT 实现 [Authorize(Roles = "something")]
- ubuntu - 无法从 ubuntu 机器刷入 cc2650
- laravel - 检索具有无效类别子类别关系的模型
- azure-functions - 我可以为版本 2.x 运行时的基于 http 触发器的 azure 函数配置自定义名称吗?
- javascript - ajax 调用和控制器函数中的多个循环值
- javascript - 如何使用 javascript 将数据从 http 站点获取到 html 表中?
- c# - 如何使用索引中的刷新模型重新加载部分视图