文档章节

如何使用Selenium-Grid

xxjbs001
 xxjbs001
发布于 2015/04/06 18:41
字数 1097
阅读 29
收藏 0
点赞 0
评论 0
前面说到了Selenium-Server的前2种启动方式,现在再看看剩下的2种启动方式。

3、作为hub启动
java -jar selenium-server-standalone.jar -role hub
参数说明:
-role:hub
启动一个hub服务,等待webdriver客户端进行注册和请求。默认启动端口是4444,默认接收注册的地址为:http://localhost:4444/grid/register

-hubConfig:[filename]
一个符合selenium grid2规则的json格式的hub配置文件,样例如下:[其实这个就是selenium-grid的默认使用的配置文件]
{
  "host": null,
  "port": 4444,
  "newSessionWaitTimeout": -1,
  "servlets" : [],
  "prioritizer": null,
  "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
  "throwOnCapabilityNotPresent": true,
  "nodePolling": 5000,

  "cleanUpCycle": 5000,
  "timeout": 300000,
  "browserTimeout": 0,
  "maxSession": 5
}

-throwOnCapabilityNotPresent: [true|false]
默认为true,如果为true则hub只有在当前有测试代理注册的情况下才会接受测试请求;如果为false则如果当前没有代理注册也会接受请求保存到队列直到有代理注册为止。

-capabilityMatcher:xxx
一个实现了CapabilityMatcher接口的类,默认指向org.openqa.grid.internal.utils.DefaultCapabilityMatcher;该类用于实现grid在分布测试任务到对应代理时所使用的匹配规则,如果想要更精确的测试分配规则,那么就注册一个自己定义的匹配类。

-prioritizer:XXXclass
一个实现了Prioritizer接口的类。设置grid执行test任务的优先逻辑;默认为null,先来先执行。

-port:xxx
指定hub监听的端口

-host:ip_or_host
指定hub机的ip或者host值

-newSessionWaitTimeout:XXX
默认-1,即没有超时;指定一个新的测试session等待执行的间隔时间。即一个代理节点上前后2个测试中间的延时时间,单位为毫秒。

-servlets: XXXserlet
在hub上注册一个新的serlet,访问地址为/grid/admin/XXXserlet

-browserTimeout:
浏览器无响应的超时时间

-grid1Yml:
一个符合grid1规则的yml文件,仅适用于grid1


4、作为webdriver或者node启动
java -jar selenium-server-standalone.jar -role wd -hub http://localhost:4444/grid/register
java -jar selenium-server-standalone.jar -role rc -hub http://localhost:4444/grid/register
java -jar selenium-server-standalone.jar -role node -hub http://localhost:4444/grid/register
参数说明:
-role: [node|wd|rc]
为node值时表示注册的RC可以支持selenium1、selenium2两种方式的测试请求,推荐;
为wd值时表示注册的RC仅支持selenium2的webdriver方式的测试请求,遗留;
为rc值时表示注册的RC仅支持selenium1方式的测试请求,遗留。

-hub:url_to_hub
url_to_hub值为hub启动的注册地址,默认为ttp://ip_for_hub:4444/grid/register;具体的根据你启动hub时的参数所对应。
该选项包含了-hubHost和-hubPort两个选项

-hubHost:ip_or_host
指定hub机的ip或者host值

-host:ip_or_host
同-hubHost选项

-hubPort:xxx
指定hub机的监听端口

-port:XXX
同-hubPort选项

-registerCycle:xxx
代理节点自动重新注册的周期,单位毫秒;适应于重启了hub时不需要重启所有的代理节点。

-nodePolling:XXX
hub检查代理节点的周期

-unregisterIfStillDownAfter:XXX
单位毫秒,设定代理节点在无响应多长时间后hub才会注销代理节点注册信息;默认1分钟

-nodeTimeout:xxx
客户端的无心跳超时时间

-maxSession:xx
一个代理节点可以同时启动的浏览器最大数量,即session数量

-cleanupCycle:XXX
代理节点检查超时的周期

-nodeConfig: json_file
一个符合selenium grid2规则的json格式的node配置文件,样例
{
  "capabilities":
      [
        {
          "browserName": "*firefox",
          "maxInstances": 5,
          "seleniumProtocol": "Selenium"
        },
        {
          "browserName": "*googlechrome",
          "maxInstances": 5,
          "seleniumProtocol": "Selenium"
        },
        {
          "browserName": "*iexplore",
          "maxInstances": 1,
          "seleniumProtocol": "Selenium"
        },
        {
          "browserName": "firefox",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "browserName": "chrome",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "browserName": "internet explorer",
          "maxInstances": 1,
          "seleniumProtocol": "WebDriver"
        }
      ],
  "configuration":
  {
    "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
    "maxSession": 5,
    "port": 5555,
    "host": ip,
    "register": true,
    "registerCycle": 5000,
    "hubPort": 4444,
    "hubHost": ip
  }
}

-servlets: XXXserlet
在node上注册一个新的serlet,访问地址为/grid/admin/XXXserlet

-proxy: 代理类
默认指向org.openqa.grid.selenium.proxy.DefaultRemoteProxy;用于代表节点的代理

-browserTimeout:
浏览器无响应的超时时间

-browser:browserName=firefox,version=3.6,platform=LINUX
设置代理节点的注册信息,这些信息同样可以在配置文件里设置;该参数可以使用多次用以同时注册多个浏览器信息。
可以设置的信息有:
browserName=firefox
version=3.6
platform=LINUX
maxInstances=5
firefox_binary=/home/myhomedir/firefox36/firefox
chrome_binary="C:\program file\chrome\chrome.exe"


注:

在node方式启动的命令中,除了上面列出的选项外,还可以附加独立RC方式启动时所支持的选项;因为以node方式启动时,除了可以和hub通信外,还包含了独立RC服务器的所有功能。

本文转载自:http://blog.csdn.net/five3/article/details/9415067

共有 人打赏支持
xxjbs001
粉丝 55
博文 749
码字总数 215621
作品 0
浦东
QA/测试工程师
selenium grid2 初探

selenium grid2 初探 0 what is selenium grid? 简单说grid是一个分布式的应用,通过注册不同的节点(hub),提高用例执行效率。 1 when to use selenium grid? +不同浏览器,不同版本,不同操作...

jeffsui
2016/03/04
90
0
第一次用Selenium Grid时你踩过哪些坑?

第一次用Selenium Grid时你踩过哪些坑? 要回答这个问题,我们先来说说Selenium Grid的前世今身。 什么是Grid呢? 做自动化测试,你是不是有被要求在不同的浏览器和操作系统上并行地运行多个...

i夏天i
05/28
0
0
15 Web 自动化测试 -- Selenium Grid

Selenium Grid 我其实写过多篇文章,大家可以参考可能内容会很大部分是重复的: https://www.jianshu.com/p/017adc59ca1b https://www.jianshu.com/p/29c7240e9f48 Selenium Grid 是什么? ...

米阳MeYoung
07/03
0
0
Python+Selenium自动化

1,什么是selenium selenium是一个开源的自动化测试框架,主要适用WEB测试,可以支持多种语言(Java, C#, Python,php等),既然支持多语言开发,那跨平台自然就不用多说啦,selenium有几个版本...

拉夫斯基
2015/12/01
145
0
Selenium Grid的自动化测试环境搭建经验分享

Selenium Grid是什么? Selenium-Grid 允许你在多台机器的多个浏览器上并行的进行测试,也就是说,你可以同时运行多个测试。本质上来说就是,Selenium-Grid 支持分布式的测试执行。它可以让你...

江边望海
2015/08/19
0
0
selenium Grid 分布式调试IE、FireFox、Chrome

为什么使用selenium grid: 如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的solution就是使用grid.selenium-grid是用于设计帮...

丰_申
2016/09/22
75
0
2.1 Selenium 家族介绍

从图片我们可以看到Selenium已经走过了3大版本,从selenium 1.0 到selenium 3.0 。 这个大版本的变个历程我可以跟大伙简单讲讲: Selenium 1.0 Selenium1.0 源于ThoughtWorks公司,后跟googl...

米阳MeYoung
04/23
0
0
并行的Web测试--Selenium Grid

很多敏捷团队已经使用了Selenium和Watir等 工具进行验收测试或用户接口测试。这些工具通过驱动Web浏览器的方式反映用户体验,并且为测试那些使用DHTML和Ajax构建的动态接口提供强力支 持。然...

匿名
2010/04/13
4.7K
0
Selenium Grid 1.0.6 发布

Selenium Grid是Selenium的一个扩展,用来进行并行Web测试的工具。 Selenium Grid 1.0.6 改进内容: Fixed some concurrent modification issues that may have resulted in NullPointerExc......

红薯
2010/04/13
133
0
Web自动化测试工具Selenium 1.0正式发布:Chrome支持+用户指南

Selenium 是一款开源Web自动化测试工具,最近发布了1.0版,标志着Web自动化测试领域正式加入了一名新成员。在其新版本中,除了修正了若干Bug,最引人瞩 目的就是Selenium RC增加了对Google ...

晨曦之光
2012/03/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

ES15-JAVA API 索引管理

1.创建连接 创建连接demo package com.sean.esapi.client;import java.net.InetSocketAddress;import org.elasticsearch.action.get.GetResponse;import org.elasticsearch.clien......

贾峰uk
7分钟前
0
0
单点登录的设计,从单域名到多域名(经验分享)

个人实践总结,最初的的需求,多个产品线都在同一个根域名下面。 独立的用户中心分离,单独负责用户登录和用户信息获取、变更等处理逻辑。 第一步,用户登录成功,分配给用户一个memToken(令...

小海bug
8分钟前
0
0
合格前端第十二弹-TypeScript + 大型项目

写在前面 TypeScript 已经出来很久了,很多大公司很多大项目也都在使用它进行开发。上个月,我这边也正式跟进一个对集团的大型运维类项目。 项目要做的事情大致分为以下几个大模块 一站式管理...

qiangdada
12分钟前
0
0
编程学习之如何在Node.js中优化服务器端渲染?[图]

编程学习之如何在Node.js中优化服务器端渲染?[图] 在 Airbnb,我们花了数年时间将所有前端代码迁移到 React 架构,Ruby on Rails 在 Web 应用中所占的比例每天都在减少。实际上,我们很快会...

原创小博客
14分钟前
0
0
gradle学习笔记

相关文档 适合新手的 gradle 自学教程合集 Gradle教程

OSC_fly
28分钟前
0
0
Virtual Serial Port - RFC2217

Virtual Serial Port for Linux RFC-2217 The COM Port Control Protocol pyserial - RFC 2217 NetSerial - Windows Telnet COM Port - RFC Official Using Python, How do I make a virtual......

zungyiu
35分钟前
0
0
全球的IPv6部署急剧增加,中国进度较慢

导读 全球的IPv6部署继续增加,但中国在IPv6方面还需要努力,从部署图上分析,中国几乎没有几个地方是普及IPv6的。这6年来,自世界IPv6发布以来,全球网络和服务提供商的IPv6部署水平急剧增加...

问题终结者
39分钟前
1
0
好看的电影记录

星际迷航三 狂暴之路 新木乃伊 黑夜传说 铁血战士2

xd03122049
42分钟前
0
0
记录Yii2框架开发遇到微信错误提示

转载地址 记录Yii2框架开发遇到微信错误提示 微信公共号开发,提示“该公众号暂时无法提供服务,请稍后再试”,如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在...

durban
44分钟前
1
0
LSM树(Log-Structured Merge Tree)存储引擎浅析

其实每一种数据库,它都是一种抽象的数据结构的具体实现。 随着rocksDB(facebook的),levelDB(google的),以及我们熟知的hbase,他们都是使用的LSM树结构的数据库。 它的核心思路其实非常...

算法之名
58分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部