`
m635674608
  • 浏览: 5062032 次
  • 性别: 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 RC与selenium webdriver的区别

    Selenium RC与Selenium WebDriver的区别 Selenium RC(Remote Control)和Selenium WebDriver是两个不同的自动化测试工具,都是Selenium项目的一部分。然而,它们有着不同的实现机制和应用场景。在Selenium 2中,...

    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-java-4.0.0-alpha-6_javaselenium_

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

    selenium浏览器驱动下载

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

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

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

    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的初级使用说明 - Selenium介绍

    Selenium 是一个强大的开源自动化测试框架,主要用于Web应用程序的测试。它由ThoughtWorks公司开发,提供了多种工具和组件,使得测试人员和开发人员能够轻松地模拟用户行为,并进行各种类型的测试,包括单元测试、...

    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