launch

  • selenium 的 launch 方法是在 GridLauncherV3 类的 main 方法
org.openqa.grid.selenium.GridLauncherV3#main
  • 在该类的 buildLaunchers 中 可以找到配置 hub 的配置类和 Node 的配置类

Hub配置类

  • Hub 的配置类是 GridHubConfiguration,进入类中可以看到默认的配置文件路径:
   public static final String DEFAULT_HUB_CONFIG_FILE = "org/openqa/grid/common/defaults/DefaultHub.json";private static HubJsonConfiguration DEFAULT_CONFIG_FROM_JSON = HubJsonConfiguration.loadFromResourceOrFile("org/openqa/grid/common/defaults/DefaultHub.json");
  • 打开 org/openqa/grid/common/defaults/DefaultHub.json 文件,可以看到以下默认配置:
{"port": 4444,"newSessionWaitTimeout": -1,"servlets" : [],"withoutServlets": [],"custom": {},"capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher","registry": "org.openqa.grid.internal.DefaultGridRegistry","throwOnCapabilityNotPresent": true,"cleanUpCycle": 5000,"role": "hub","debug": false,"browserTimeout": 0,"timeout": 1800
}

Node配置类

  • Node的配置类是 GridNodeConfiguration,进入该类可以找到默认的配置文件:
    public static final String DEFAULT_NODE_CONFIG_FILE = "org/openqa/grid/common/defaults/DefaultNodeWebDriver.json";private static NodeJsonConfiguration DEFAULT_CONFIG_FROM_JSON = NodeJsonConfiguration.loadFromResourceOrFile("org/openqa/grid/common/defaults/DefaultNodeWebDriver.json");
  • 进入 org/openqa/grid/common/defaults/DefaultNodeWebDriver.json 文件,可以看到以下默认配置:
{"capabilities":[{"browserName": "firefox","marionette": true,"maxInstances": 5,"seleniumProtocol": "WebDriver"},{"browserName": "chrome","maxInstances": 5,"seleniumProtocol": "WebDriver"},{"browserName": "internet explorer","platform": "WINDOWS","maxInstances": 1,"seleniumProtocol": "WebDriver"},{"browserName": "safari","technologyPreview": false,"platform": "MAC","maxInstances": 1,"seleniumProtocol": "WebDriver"}],"proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy","maxSession": 5,"port": -1,"register": true,"registerCycle": 5000,"hub": "http://localhost:4444","nodeStatusCheckTimeout": 5000,"nodePolling": 5000,"role": "node","unregisterIfStillDownAfter": 60000,"downPollingLimit": 2,"debug": false,"servlets" : [],"withoutServlets": [],"custom": {}
}

修改配置文件

  • 有了以上的两个配置文件,可以根据自己的需求做修改,可以实现自己的DefaultRemoteProxy类等其他类,也可以修改默认的值。

启动

  • 在启动时 hub 节点添加 -hubConfig 参数,值为修改配置文件路径,node 节点添加 -nodeConfig 参数,值为修改配置文件路径,如下所示:
-role hub -hubConfig config\DefaultHub.json
-role node -nodeConfig config\DefaultNodeWebDriver.json

Selenium的默认配置文件和创建自己的配置文件相关推荐

  1. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

    文章目录 一.创建 tasks.json 编译器构建配置文件 二.tasks.json 编译器构建配置文件分析 可以参考官方提供的文档 : https://code.visualstudio.com/ ...

  2. 计算机 用户创建失败,电脑用户加载错误,无法创建新的配置文件的解决方法...

    这种无法创建新的配置文件,所以本地计算机中没有配置文件的用户都无法登录,而有配置文件的用户就可以登录.是因为创建新的用户配置文件时是把系统分区 Documents and Settings文件夹下的D ...

  3. python configparser模块来 读取 、 创建 和 修改 配置文件

    安装configparser模块 # python2.7模块名为ConfigParser pip3 install configparser 创建配置文件 创建一个example.ini配置文件,具体 ...

  4. 【已解决】请在位于当前 Web 应用程序根目录下的“web.config”配置文件中创建一个 <customErrors> 标记

    问题 详细信息: 若要使他人能够在远程计算机上查看此特定错误信息的详细信息,请在位于当前 Web 应用程序根目录下的"web.config"配置文件中创建一个 标记.然后应将此 标 ...

  5. 如何在 Windows Server 2003 中创建漫游用户配置文件

    创建漫游用户配置文件 创建漫游用户配置文件的过程分两个步骤.首先创建测试用户配置文件,然后将测试用户配置文件复制到网络服务器. 创建测试配置文件 要为漫游用户创建测试配置文件,请按照下列步骤操作: 以 ...

  6. 在idea中创建mybatis-config.xml模板(在idea中创建mybatis核心配置文件模板)

    在idea中创建mybatis-config.xml模板(在idea中创建mybatis核心配置文件模板) 1.写配置文件 2.设置 3.查看 1.写配置文件 先创建一个mybatis-config. ...

  7. 【数据库Redis】Redis五种基本数据结构以及三种配置方式——默认配置、运行配置、配置文件启动

    文章目录 一.初识Redis 1.1 了解Redis 1.2 Redis特性 1.3 Redis使用场景 Redis不适合场景 1.4 用好Redis的建议 1.5 正确安装并启动Redis 在Lin ...

  8. python配置文件的创建_python3 如何创建一个.ini的配置文件。

    1.说明: python3使用configparser模块来处理ini配置文件. 2.代码示例: 需要生成conf.ini配置文件如下: [config] v1 = 100 v2 = abc v3 = ...

  9. yml语法规则 (5.spring boot配置文件注入@ConfigurationProperties)、配置文件处理器...

    applicationi.properties application.yml   以数据为中心,比json xml更适合做配置文件 k: v 表示一对键值对 空格缩进控制层级关系,左对齐的一列数据都 ...

最新文章

  1. ganglia metric 默认监控项翻译
  2. 聊一聊:开源社区应该用中文吗?
  3. Python学习:使用Python解释器
  4. Cannot find module 'express'
  5. java反应器构型,反应器结构及工作原理现用图解.doc
  6. python实现图灵机器人帮你回复微信好友消息
  7. 9款极具创意的HTML5/CSS3进度条动画
  8. android百度地图单点定位_Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡...
  9. 8位可控加减法电路设计_C++手撕底层:位、字节、原码、反码、补码的深入理解...
  10. pkg_resources.DistributionNotFound: The 'psutil=5.6.1; platform_python_implementation== 报错解决
  11. CAD对话框不见后要如何调出
  12. 阿里云域名注册与免费证书申请
  13. 西游记中的袁守诚的真实身份是谁?为何能知玉帝谕旨?
  14. 仰天大笑出门去 我辈岂是蓬蒿人
  15. zigbee入网过程深入解析(Ubiqua抓包)
  16. linux系统电脑小白可以用吗,linux小白说说用linux的感受
  17. 微信公众号开发02----自定义菜单及菜单功能实现
  18. 让癌细胞自己饿死自己,科学家找到肿瘤新方法|Science
  19. Windows设置nacos自启动
  20. python----常用模块(常用方法)

热门文章

  1. 最长重复子数组最长公共子序列不相交的线
  2. 【django】关联查询
  3. 【python】排序算法的稳定性冒泡排序(画图详细讲解)
  4. GPTEE中的Storage API的使用
  5. 运维的基本知识点及分类工作
  6. 正则表达式,解决要么有要有没有,但必须开头
  7. LPCTSTR 与 int 的互相转换
  8. c++对象长度之静态数据成员(3)
  9. 【WEB安全】In0ri:基于深度学习的网站内容污染检测系统
  10. 015 已接任务链表和任务库二叉树遍历