`
m635674608
  • 浏览: 5029346 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Selenium 心跳时间

    博客分类:
  • java
 
阅读更多

Start Hub

IP: 192.168.0.22

命令行启动Hub:

     C:\>java -jare:\selenium-server-standalone-2.37.0.jar –role hub –port 4444

     可选参数:

l  -port (缺省 4444)为默认hub所在服务器(jetty)端口为4444,服务启动之后,可以通过              http://localhost:4444/grid/console 访问Grid Console已查看各节点状态

l  -timeout (缺省 30 s),当某节点在指定时间未收到任何请求时,该节点会被释放加入到其它队列中,可以使Client不会一直处于挂起状态

l  -maxSession (缺省 5) ,在节点最大并行运行的浏览器个数,这个不同于节点中浏览器的maxInstance

前者为最大启动的浏览器个数,后者为同一版本浏览器最大实例数

使用Json配置Hub:

     C:\>java -jar selenium-server-standalone-2.37.0.jar-role hub -hubConfig hubconfig.json

     hubConfig.json如下:

         {

 "host": null,

 "port": 4444,

 "newSessionWaitTimeout": -1,

 "servlets" : [],

 "prioritizer": null,

 "capabilityMatcher":"org.openqa.grid.internal.utils.DefaultCapabilityMatcher",

 "throwOnCapabilityNotPresent": true,

 "nodePolling": 5000,

 

 "cleanUpCycle": 5000,

 "timeout": 60,

 "browserTimeout": 60,

 "maxSession": 5,

 "jettyMaxThreads":-1

}

配置超时:

     为了维持测试运行完整性,在grid中提供了另外两种超时设置,如下:

              -timeout: 单位(秒),在启动hub命令行参数中指定,当客户端崩溃指定时间后,grid会回收所有资源

                  -browserTimeout:单位(秒),在启动hub命令行参数中指定,当Node浏览器处于挂起状态指定时间后,grid会回收所有资源

注:webdriver API中,webDriver.manage().timeouts()设置不同操作的超时在grid中同样生效;

                   在Hub中配置两个参数值后,会对所有Node生效,当然也可以局部地在Node上配置(官方不推荐);

                   对于browserTimeout应该高于socket锁超时(45 s),另外,由于该超时是最后防线,也应高于webDriver.manage().timeouts()指定的超时时间

 

Start Node

IP: 192.168.0.143

命令行启动节点:

     C:\>java -jar e:\selenium-server-standalone-2.30.0.jar-role node –hub http://192.168.0.22:4444/grid/register

注:缺省情况下,Node默认端口为5555

-hub参数指定Grid Hub接受节点注册的地址;

为了兼容Selenium1.0-role 的参数值可以使用(wd / rc,当使用node时可以接受webdriver  RC两者的连接实例

  命令行配置节点:

         缺省情况,grid会启动11个浏览器实例, 5 Firefox, 5 Chrome, 1 Internet Explorer.,最大并发执行测试数目为5,

         我们可以通过配置-browser参数来更改关于浏览器的默认配置,一旦更改将覆写缺省配置

    Example_1: 以下配置将在Linux环境下启动5个Firefox3.6实例
    -browser browserName=firefox,version=3.6,maxInstances=5,platform=LINUX
    Example_2: 如果你的远程机器有多个版本的Firefox或其他浏览器,可以使用如下配置
             -browser browserName=firefox,version=3.6,firefox_binary=/home/myhomedir/firefox36/firefox,maxInstances=3,platform=LINUX 
-browser browserName=firefox,version=4,firefox_binary=/home/myhomedir/firefox4/firefox,maxInstances=4,platform=LINUX
    注:如果参数中的value字符串中包含空格,可以使用双引号包裹字符串。

使用JSon配置节点:

         C:\>java -jar e:\selenium-server-standalone-2.30.0.jar -role node -nodeConfige:\selenium\node.json

         Node.json如下:

{

           "capabilities":[

           {

              "browserName":"firefox",

              "maxInstances": 2,                           当前版本浏览器实例化最大个数

                    "seleniumProtocol":"WebDriver"

           },

           {

      "browserName": "internet explorer",

      "maxInstances": 1,

      "seleniumProtocol": "WebDriver"

      }

           ],

           "configuration":

           {

         "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",

         "maxSession": 2,                           最大并行执行的测试任务

         "port": 5555,

         "host": 192.168.0.143,

         "register": true,

         "registerCycle": 5000,                                 该节点向hub发出注册请求的频率,单位毫秒ms

         "hubPort": 4444,

         "hubHost": 192.168.0.22

           }

}

 

使用Grid运行测试

         对于WebDriver而言,你需要使用RemoteWebDriver和DesiredCapabilities对象来定义你将要在什么平台下运行测试,例如浏览器,浏览器版本,操作系统,示例如下

DesiredCapabilities capability =DesiredCapabilities.firefox();

capability.setBrowserName(“firefox” );  

capability.setPlatform(“LINUX”); 

capability.setVersion(“3.6”);

WebDriver driver = new RemoteWebDriver(newURL("http://localhost:4444/wd/hub"), capability);

 

以上脚本将会匹配如下配置的节点

         -browser browserName=firefox,version=3.6,platform=LINUX

 

 

主节点 和子节点默认时间是5秒。如果子节点死了,在这五秒内客户端发起请求。就会导致线程卡死。

因为这时候主节点还认为子节点还存在。所以

分享到:
评论

相关推荐

    selenium selenium selenium selenium selenium selenium selenium selenium

    selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium selenium

    Selenium

    它由 ThoughtWorks 公司开发,并且随着时间的发展已经成为一个开源项目,得到了广泛的社区支持。Selenium 的主要优势在于其能够模拟真实用户的浏览器行为,这使得它在功能测试、回归测试以及界面测试方面表现卓越。 ...

    selenium-selenium-4.5.0.zip源码

    Selenium 是一个强大的开源自动化测试框架,用于网页应用。它支持多种编程语言,如 Java、Python、C#、Ruby 等,使测试工程师能够编写脚本来模拟用户在浏览器中的各种交互行为。Selenium 4.5.0 版本是该框架的一个...

    selenium selenium

    selenium selenium selenium

    Selenium_v2.5

    除了核心的测试功能,Selenium_v2.5可能还集成了其他工具和库,例如Selenium Grid,它允许分布式执行测试,可以在多台机器上并行运行测试,大大缩短整体测试时间,尤其适合大型项目或需要频繁回归测试的场景。...

    Selenium-Python中文手册

    - **等待**: `WebDriverWait`类允许设置超时时间等待特定条件满足,如元素出现或消失。 - **元素交互**: `click()`、`submit()`等方法模拟用户交互行为。 - **CSS选择器与XPath**: 使用`find_elements_by_css_...

    selenium浏览器驱动下载

    Selenium 是一个强大的自动化测试工具,它允许程序员模拟真实用户在浏览器中的操作,进行Web应用程序的测试。在Selenium框架中,浏览器驱动是关键组成部分,它充当了Selenium与特定浏览器之间的桥梁。本文将深入探讨...

    selenium-server-standalone和Selenium-java的jar包

    在IT行业中,Selenium是一个广泛使用的自动化测试框架,主要用于Web应用程序的测试。它提供了一组强大的API,使得开发者能够用多种编程语言(如Java、Python、C#等)编写自动化测试脚本。在这个主题中,我们将深入...

    selenium-java-4.0.0-alpha-6_javaselenium_

    标题 "selenium-java-4.0.0-alpha-6_javaselenium_" 指的是 Selenium 的一个 Java 版本的软件包,具体是 4.0.0 的第六个 Alpha 版本。Selenium 是一个广泛使用的自动化测试工具,主要用于 web 应用程序的测试。它...

    selenium Java版本 4.1.2

    Selenium 是一个强大的开源自动化测试框架,主要用于网页应用的测试。在Java版本4.1.2中,Selenium提供了一套完整的API,使得开发者能够用Java编写自动化测试脚本,进行功能性和回归性测试。这个版本是Selenium的...

    Selenium rc+selenium_java

    标题"Selenium rc + selenium_java"涉及的是自动化测试领域中的两个关键组件:Selenium Remote Control (RC) 和 Selenium Java。这两个组件都是Selenium测试框架的一部分,用于网页应用的自动化测试。 Selenium是一...

    selenium.jar selenium资源包

    **等待策略**:在自动化测试中,经常需要处理页面加载时间。Selenium 提供了显式等待和隐式等待两种方式,确保元素在执行操作前已经加载完成。 **浏览器支持**:Selenium 支持多种主流浏览器,如Chrome、Firefox、...

    selenium 依赖包一次到位

    【Selenium】是一个强大的自动化测试工具,主要用于模拟真实用户在Web浏览器上的操作。它支持多种浏览器,如Chrome、Firefox、IE等,通过编程接口(API)实现网页元素的交互,如点击、输入、导航等。Selenium的核心...

    seleniumRC

    Selenium RC,全称为Selenium Remote Control,是Selenium测试工具套件中的一个早期组件,主要用于自动化Web应用程序的测试。Selenium RC允许测试者通过编程语言(如Java、Python、Ruby等)编写测试脚本,然后控制...

    selenium-4.8.3.tar.gz

    《Selenium 4.8.3:Web自动化测试的强大工具》 Selenium 是一款广泛使用的开源自动化测试框架,用于测试Web应用程序。Selenium 4.8.3版本的发布,为用户提供了最新的功能和改进,进一步提升了自动化测试的效率和...

    selenium RC入门实例

    昨天群里有朋友问我selenium入门例子,我今天抽了点时间写了一段简单的代码,此代码适合刚刚学习selenium的人员参考,此代码是selenium2 RC 调用chrome driver访问百度,输入Jack_test 搜索. 代码里面含资源包:selenium...

    Selenium测试工具研究报告

    - **缺点**:学习曲线相对陡峭,对于初学者而言,掌握其API和语法可能需要一定的时间和努力。 #### 三、Selenium IDE的使用 Selenium IDE通过其内置的录制功能,可以轻松捕捉用户的交互行为,自动生成测试脚本。...

Global site tag (gtag.js) - Google Analytics