`

selenium webdriver学习(二十)------------Selenium Grid

阅读更多

Selenium Grid允许同时并行地、在不同的环境上运行多个测试任务。这里主要演示一下怎么使用Selenium Grid。

 

准备:

1、需要两台机子

2、两台机子分别安装好JDK环境

3、两台机子需要从 http://code.google.com/p/selenium/downloads/list下载selenium-server-standalone-*.jar包

 

开始:

Grid需要一台机子做为主节点,然后其它机子做为子节点连接到这个主节点上来。所以首先要启动主节点。

 

 

  • 启动主节点:

    选一台机子做为主节点。打开命令行,cd至selenium-server-standalone-*.jar包的目录下,然后用下面的命令启动主节点服务:

 

java -jar selenium-server-standalone-2.24.1.jar -role hub

 

   默认启动默认端口为4444。如果要改这个端口,可以再上面的命令后面加上 -port XXXX。启动完后,你可以用浏览 器    打开 http://localhost:4444/grid/console 这个网址查看主节点的状态。

 

   启动完主节点之后,要做的就是启动子节点。

 

 

  • 启动子节点:
    先另一台机子做为子节点。同样打开命令行,cd至selenium-server-standalone-*.jar包的目录下,然后用下面的命令启动次节点服务:
java -jar selenium-server-standalone-2.24.1.jar -role node  -hub http://192.168.40.24:4444/grid/register
 其中192.168.40.24为主节点机子的ip地址,可以使用ipconfig命令在命令行查看得到。上面命令默认启动5555端口,可使用-port 更改。启动完成连接到主节点后,可以在主节点机子上 ,http://localhost:4444/grid/console网址查看到这个子节点状态。使用同样的方法,可以链接其它的子节点。
  • 运行一个简单的例子:
上面已经把grid弄成功了,现在我们用Grid来运行一个很简单的例子。代码如下:
import java.net.MalformedURLException;
import java.net.URL;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

public class GridTest {

	/**
	 * @throws MalformedURLException 
	 */
	public static void main(String[] args) throws MalformedURLException { 
		DesiredCapabilities test = DesiredCapabilities.firefox();
		WebDriver dr = new RemoteWebDriver(new URL("http://192.168.40.67:5555/wd/hub"),test);
		dr.get("http://www.51.com");
	}
}
 

 

在主节点机子上运行上面的代码,你可以在次节点机子上看到firefox浏览器被启动,然后打开了www.51.com这个网址。

值得注意的是:

 

WebDriver dr = new RemoteWebDriver(new URL("http://192.168.40.67:5555/wd/hub"),test);

这一句中的192.168.40.67为次节点的ip地址。

 

 

分享到:
评论
7 楼 qi_ling2005 2013-06-24  
幽灵线程 写道
hub和node什么关系?
多个node注册到hub之后,单元测试请求到hub,然后由hub根据平台和浏览器类型分配给node么?
貌似直接请求到node节点也可以。



hub其实就是控制中心,分发testcase用的。直接请求到node节点,那是RemoteDriver,做不到并发呀
6 楼 幽灵线程 2013-06-21  
hub和node什么关系?
多个node注册到hub之后,单元测试请求到hub,然后由hub根据平台和浏览器类型分配给node么?
貌似直接请求到node节点也可以。
5 楼 qi_ling2005 2012-12-12  
qincaihong 写道
qincaihong 写道
在子节点下运行命令:java -jar selenium-server-standalone-2.24.1.jar -role node  -hub http://192.168.40.24:4444/grid/register 
会报错!不知道是什么原因?

等了一段时间再运行,又可以了!



上面的ip都要改成自己机子上的哈,先启动主节点,再启动次节点。主节点没有启的完成的话,次节点是不能正常连接到主节点的。
4 楼 qi_ling2005 2012-12-12  
WenYuan_D 写道
大师按照你的方法,我会有如下的异常,求指导:

java.lang.String cannot be cast to java.util.Map


上面的ip都要改成自己机子上的哈,先启动主节点,再启动次节点
3 楼 WenYuan_D 2012-11-28  
大师按照你的方法,我会有如下的异常,求指导:

java.lang.String cannot be cast to java.util.Map
2 楼 qincaihong 2012-08-13  
qincaihong 写道
在子节点下运行命令:java -jar selenium-server-standalone-2.24.1.jar -role node  -hub http://192.168.40.24:4444/grid/register 
会报错!不知道是什么原因?

等了一段时间再运行,又可以了!
1 楼 qincaihong 2012-08-13  
在子节点下运行命令:java -jar selenium-server-standalone-2.24.1.jar -role node  -hub http://192.168.40.24:4444/grid/register 
会报错!不知道是什么原因?

相关推荐

    selenium-java-2.44.0、selenium-java-2.44.0-srcs、selenium-server-standalone-2.44.0

    源代码也方便开发者学习Selenium的实现细节,提高自己的测试技能。 最后,`selenium-server-standalone-2.44.0.jar` 是Selenium Grid的独立服务器版本。Selenium Grid用于分布式测试,它可以同时在多个机器上运行...

    selenium-server-standalone-2.45.0和selenium-java-2.45.0(含srcs)

    总结起来,"selenium-server-standalone-2.45.0" 和 "selenium-java-2.45.0(含srcs)" 提供了Selenium的核心组件,支持Java环境下的WebDriver自动化测试,同时包含了源码以便于深入学习和定制。它们是Web应用自动化...

    selenium-server-standalone-3.9.1.rar

    "selenium-server-standalone-3.9.1.rar" 文件包含了Selenium Grid 的独立服务器版本,适用于3.9.1这个高版本。Selenium Grid 是Selenium工具集中的一个重要组成部分,它允许我们进行分布式自动化测试,提高测试效率...

    Selenium WebDriver Practical Guide-Code

    通过深入研究这个压缩包中的代码示例,学习者不仅可以理解Selenium WebDriver的工作原理,还能掌握如何在实际项目中应用这些知识,提升自动化测试的技能。同时,这也有助于理解和调试测试脚本,解决在自动化测试过程...

    selenium webdriver 3 practical guide 第二版

    Selenium WebDriver 3 Practical Guide will walk you through the various APIs of Selenium WebDriver, which are used in automation tests, followed by a discussion of the various WebDriver implementations...

    Selenium WebDriver 所需jar包

    3. **Selenium Server**:虽然不是所有情况下都需要,但Selenium Server(如Selenium Grid)可以用于分布式测试,允许多个浏览器实例在同一时间运行测试,提高测试效率。如果在大型项目中使用,可能会包含对应的jar...

    selenium-server-standalone-2.44.0,selenium-java-2.44.0,java-client-2.2.0三件套

    标题中的“selenium-server-standalone-2.44.0”、“selenium-java-2.44.0”和“java-client-2.2.0”分别指的是Selenium WebDriver的三个关键组件,它们在自动化Web浏览器测试中起着至关重要的作用。Selenium是一个...

    java-client-4.1.2.jar , selenium-server-standalone-3.0.0-beta3.jar

    此外,Selenium Grid,作为Selenium Server的一部分,负责调度和分配测试任务到各个远程节点,确保测试覆盖多种环境。 标签“jar”表明这两个文件都是Java Archive格式,这是Java平台的标准归档文件格式,用于打包...

    selenium-server-standalone-2.33.0

    【标题】"selenium-server-standalone-2.33.0" 是 Selenium WebDriver 的一个独立服务器版本,它允许开发者在各种浏览器上自动化测试网页应用。这个版本是2.33.0,代表着该软件的一个特定历史版本,可能包含了一些...

    selenium webdriver第三版

    总之,《Selenium WebDriver(Python)第三版》这本书是学习和掌握Selenium WebDriver与Python结合进行Web自动化测试的宝贵资源,它不仅讲解了基础操作,还涵盖了高级特性和实战经验,对提升测试工程师的技能大有裨益...

    selenium-server-standalone-3.13.0

    3. Selenium Grid:用于分布式测试,它可以将测试任务分发到多台机器上并行执行,大大提高了测试效率。 在描述中提到的 "selenium-server-standalone-3.13.0.jar" 文件,是 Selenium Server 的 JAR 包,它是基于 ...

    Mastering-Selenium-WebDriver-3.0-Second-Edition:精通Selenium WebDriver 3.0-第二版,由Packt发行

    精通Selenium WebDriver 3.0,第二版 这是Packt发行的的代码库。... 并学习如何使用Docker容器快速启动Selenium Grid。 在最后的几章中,您将通过一系列场景来演示如何扩展Selenium以使其与外部库和应用程序一起使用,

    selenium-server-standalone-2.46.0

    5. **网格测试**:Selenium Grid允许在一个集群环境中并行运行测试,以提高测试效率,尤其对于大规模的项目而言。 **关于`selenium-server-standalone-2.46.0.jar`:** 这是一个Java可执行的JAR文件,包含所有必要...

    selenium-remote-driver-2.44.0.zip

    【标题】"selenium-remote-driver-2.44.0.zip" 提供的是Selenium Remote Driver的一个旧版本,这是Selenium WebDriver库的一部分,用于控制浏览器进行自动化测试。Selenium WebDriver是一个开放源代码的API,它允许...

    selenium-server-standalone-3.141.59.jar

    3. **网格(Grid)功能**:Selenium Grid允许在多台机器上并行运行测试,大大提高了测试速度。通过Selenium Server Standalone,我们可以轻松设置和扩展测试网格,同时在多个浏览器和操作系统上执行测试。 4. **API...

    selenium-server-standalone-2.43.1

    描述中提到的"selenium2开发"指的是Selenium 2,也被称为WebDriver,是Selenium的第二个主要版本。WebDriver提供了一种更现代、更直接的方式来控制浏览器,它通过模拟真实用户的交互来测试网页应用。Selenium 2结合...

    selenium-java-2.25.0.zip和selenium-server-standalone-2.25.0.jar

    标题中的“selenium-java-2.25.0.zip”和“selenium-server-standalone-2.25.0.jar”是Selenium自动化测试框架的两个关键组件,分别代表了Selenium的Java绑定库和独立服务器。Selenium是一个开源的Web应用程序自动化...

    selenium-selenium-4.5.0.zip源码

    5. **Remote WebDriver**: 支持远程执行测试,通过 Selenium Grid 或云服务如 Sauce Labs 或 BrowserStack 进行分布式测试。这部分源码展示了如何管理和协调多个远程浏览器实例。 6. **Selenium Server**: 作为测试...

    selenium-server-standalone-3.8.1

    Selenium Server Standalone 是 Selenium Grid 的基础,Selenium Grid 是一个分布式测试框架,用于在多台机器上并行执行测试,大大加快了测试速度。当你需要在不同的操作系统或浏览器配置上进行测试时,Selenium ...

Global site tag (gtag.js) - Google Analytics