Selenium对于我们进行web自动化测试有很大的帮助,如果要进行大范围的测试覆盖,就不能仅仅在一两台机器上跑了;同样Selenium-Grid也给我们提供了这样的帮助,我们可以借助Selenium-Grid很容易的实现分布式测试环境的搭建。不同于其它一些通用的分布式程序【如:hudson】,Selenium-Grid是专门针对Selenium的自动化分布式测试解决方案。
其优点是:
- 快速搭建分布环境【通过简单的参数配置】
- 自动分配测试脚本【针对不同环境】
- 只需一份测试代码【目标测试机不需要有测试代码】
搭建Selenium2环境
在搭建Selenium-Grid之前,首先要搭建每台测试机上的Selenium环境【准确点说应该是代理节点的环境】。这里以Java为例:
- 安装Java【下载】
- 配置Java环境变量【这里】
- 下载ie、chrome的driver程序【如果要测试其它浏览器还需额外下载;FF驱动默认在webdriver中,无需下载】
- 把ie、chrome的driver程序放到系统环境变量中【例如:system32下】
- 安装最新版的浏览器【FF、chrome等】
- 下载Selenium Webdriver【下载standalone server】
- 代码测试
本地版:
- import org.openqa.selenium.*;
- import org.openqa.selenium.firefox.*;
- import org.openqa.selenium.chrome.*;
- import org.openqa.selenium.htmlunit.*;
- import org.openqa.selenium.ie.*;
- // WebDriver driver = new ChromeDriver();
- // WebDriver driver = new FirefoxDriver();
- // WebDriver driver = new HtmlUnitDriver();
- WebDriver driver = new InternetExplorerDriver();
- driver.get("http://www.dangdang.com");
- System.out.println(driver.getCurrentUrl());
- driver.quit();
远程版:
- import org.openqa.selenium.*;
- import org.openqa.selenium.remote.DesiredCapabilities;
- import org.openqa.selenium.remote.RemoteWebDriver;
- DesiredCapabilities ffDesiredcap = DesiredCapabilities.firefox();
- DesiredCapabilities chromeDesiredcap = DesiredCapabilities.chrome();
- DesiredCapabilities ieDesiredcap = DesiredCapabilities.internetExplorer();
- WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), ieDesiredcap);
- wd.get("http://www.google.com");
- Thread.sleep(1200);
- System.out.println(wd.getCurrentUrl());
- wd.quit();
上述测试都成功了,就说明你的环境已经搭建成功,依次你可以在多个系统、平台上搭建Selenium2环境。
注:
如果使用IDE则把selenium-standalone-server的jar包引用到项目build path,如果直接从命令行编译和执行的话,则必须指定该jar包的路径,否则编译会失败。
- javac -classpath $HOME/path/to/selenium-server.jar Test.java
- java -classpath $HOME/path/to/selenium-server.jar Test
搭建Selenium-Grid环境
当所有测试机上的Selenium2环境搭建成功后,就可以开始启动Selenium-Grid2环境了。【Selenium-Grid的工作原理】
首先启动一个hub:
- java -jar selenium-server-standalone-x.xx.x.jar -role hub
启动hub的机器可以不是测试机,任意一台机器有Java环境的机器都可以。这个是整个Selenium-Grid的中枢节点,所有的远程测试都会由经它后再被转发出去,然后在对应的测试机上执行测试。
启动测试代理node:
- java -jar selenium-server-standalone-x.xx.x.jar -role node
测试代理必须在测试机上启动【即之前搭建了Selenium2环境的机器上】,并且其注册的地址必须是hub所在的机器的ip和端口。一台测试机上可以启动多个代理,前提是要保证不使用相同的端口即可。【当然不建议这样做,尽量避免不稳定因素】
查看Selenium-Grid状态
当hub和所有的代理节点都启动成功后,可以通过浏览器查看当前Selenium-Grid的状态,直接访问地址http://localhost:4444/grid/console。 可以看到页面显示了可以支持测试的代理节点的数量和类型,这里显示的数量和类型和你启动代理节点时所带的配置参数有关。当启动代理节点时其实就是一个注册过程;启动时所带的参数会被hub记住作为注册信息,所以页面中所看到的信息就是各代理节点注册时信息的汇总。
相关推荐
无论是进行简单的自动化测试,还是搭建复杂的测试环境,这些组件都能满足需求。同时,随着Selenium社区的不断更新和维护,这个版本(2.44.0)虽然可能已经不再是最新的,但仍然在很多项目中得到广泛应用,因为稳定性...
"selenium-server-standalone-2.45.0" 和 "selenium-java-2.45.0(含srcs)" 提供了Selenium在Java环境下的核心组件,以及一个独立的服务器版本,方便进行Web应用的自动化测试。 1. **Selenium Server Standalone**...
`selenium-java.jar` 是一个与 Selenium 相关的 Java 库文件,它包含了用于在 Windows 和 Mac 操作系统上执行自动化测试的组件。Selenium 是一款广泛使用的开源工具,主要用于 web 浏览器自动化,帮助开发者和测试...
6. **安装与配置**: 解压并导入 Java 客户端库,启动 Selenium Server,配置测试环境。 7. **测试用例编写**: 使用 WebDriver API 编写测试脚本,模拟用户行为。 8. **浏览器兼容性测试**: Selenium 支持多种浏览器...
总之,"selenium-java-2.47.1.zip" 是一个用于自动化网页测试的重要工具,包含了一系列的Java库和资源,可以帮助你构建高效、可靠的Web应用测试框架。无论是初学者还是经验丰富的测试工程师,都能从中受益。
标题中的“selenium-java-2.25.0.zip”和“selenium-server-standalone-2.25.0.jar”是Selenium自动化测试框架的两个关键组件,分别代表了Selenium的Java绑定库和独立服务器。Selenium是一个开源的Web应用程序自动化...
标题中的“selenium-server-standalone-2.44.0”、“selenium-java-2.44.0”和“java-client-2.2.0”分别指的是Selenium WebDriver的三个关键组件,它们在自动化Web浏览器测试中起着至关重要的作用。Selenium是一个...
总的来说,"Selenium-Java-3.141.59"是一个强大且可靠的自动化测试工具,它简化了Web应用的测试过程,提高了测试效率,尤其适合Java开发团队进行持续集成和自动化测试。通过不断学习和实践,你将能够充分利用其功能...
Selenium 是一个强大的开源自动化测试框架,用于网页应用。它支持多种编程语言,如 Java、Python、C#、Ruby 等,使测试工程师能够编写脚本来模拟用户在浏览器中的各种交互行为。Selenium 4.5.0 版本是该框架的一个...
Selenium 是一个强大的开源Web自动化测试框架,它支持多种编程语言,包括Java、Python、C#、Ruby等,使得开发者可以根据自己的喜好选择合适的编程环境进行测试脚本的编写。Selenium的核心在于提供一套丰富的API,...
- **总结**:回顾Selenium2 Java自动化测试的核心概念和技术要点。 - **未来方向**:探讨自动化测试的发展趋势,如AI在测试中的应用等。 --- 通过上述内容可以看出,《Selenium2 Java自动化测试实战》这本书不仅...
`selenium-java-client-driver-1.0.2.jar` 是一个专门用于Java编程语言的Selenium客户端驱动程序,它使得开发者能够编写自动化脚本来操控网页浏览器,进行功能测试和性能测试。Selenium是一个强大的开源自动化测试...
3. **编写测试脚本**: 使用支持WebDriver的编程语言(如Java、Python、C#等)编写自动化测试脚本,指定Grid的URL以连接到Hub。 4. **运行测试**: 当测试脚本执行时,Selenium Grid会自动处理跨浏览器和跨平台的并行...
Selenium 是一个强大的开源自动化测试框架,主要用于网页应用的测试。这个压缩包 "selenium-java-2.52.0.zip" 包含了Selenium的Java版本,版本号为2.52.0,是Selenium的一个稳定版本。这个版本支持与Java编程语言的...
总的来说,"selenium-java-3.1.0.rar" 提供了完整的Selenium WebDriver的Java实现,是你进行网页自动化测试的强大工具。通过深入学习和使用这个库,你可以创建高效、可靠的自动化测试方案,提高软件开发的质量和效率...
Selenium是一个广泛使用的开源Web应用程序自动化测试框架,尤其在Java开发环境中应用广泛。Selenium 3.5.0是该框架的一个稳定版本,提供了丰富的功能和改进,使得开发者能够高效地编写和执行自动化测试脚本。 ### ...
Selenium 是一个强大的开源自动化测试框架,主要用于Web应用程序的测试。它支持多种浏览器和编程语言,包括Java。在"**selenium-Java-2.53.1**"这个版本中,我们将深入探讨Selenium与Java结合使用时的核心概念、功能...
4. **Selenium RC (Remote Control)**: 在Selenium 2之前,Selenium RC是主要的自动化工具,它允许在任何支持的浏览器上运行测试,无论浏览器是否在同一机器上运行。虽然在WebDriver出现后逐渐被取代,但在2.18.0...
《Selenium2 Java自动化测试实战》是一本专为软件测试工程师和开发人员设计的实战指南,专注于使用Selenium 2框架进行Web应用自动化测试。这本书由“虫师”撰写,以Java语言为背景,深入浅出地介绍了如何利用...