文档章节

如何搭建Selenium-Grid2环境(Java)

xxjbs001
 xxjbs001
发布于 2015/04/06 18:41
字数 897
阅读 39
收藏 0
Selenium对于我们进行web自动化测试有很大的帮助,如果要进行大范围的测试覆盖,就不能仅仅在一两台机器上跑了;同样Selenium-Grid也给我们提供了这样的帮助,我们可以借助Selenium-Grid很容易的实现分布式测试环境的搭建。不同于其它一些通用的分布式程序【如:hudson】,Selenium-Grid是专门针对Selenium的自动化分布式测试解决方案。
优点是:
  • 快速搭建分布环境【通过简单的参数配置】
  • 自动分配测试脚本【针对不同环境】
  • 只需一份测试代码【目标测试机不需要有测试代码】
搭建Selenium2环境
在搭建Selenium-Grid之前,首先要搭建每台测试机上的Selenium环境【准确点说应该是代理节点的环境】。这里以Java为例:
  1. 安装Java【下载
  2. 配置Java环境变量【这里
  3. 下载ie、chrome的driver程序【如果要测试其它浏览器还需额外下载;FF驱动默认在webdriver中,无需下载】
  4. 把ie、chrome的driver程序放到系统环境变量中【例如:system32下】
  5. 安装最新版的浏览器【FF、chrome等】
  6. 下载Selenium Webdriver【下载standalone server】
  7. 代码测试

本地版:

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记住作为注册信息,所以页面中所看到的信息就是各代理节点注册时信息的汇总。


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

共有 人打赏支持
xxjbs001
粉丝 55
博文 749
码字总数 215621
作品 0
浦东
QA/测试工程师
私信 提问
selenium + java + testNG 自动化环境搭建

kSelenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-188026......

UFO猎手
2015/05/28
0
0
Docker下使用selenium+testng实现web自动化

Windows下selenium+testng的web自动化环境搭建 做过自动化的人,肯定对selenium web环境的搭建非常熟悉了,特别是selenium在java中的使用。 先搭建好安装好JDK,配置好java开发环境(这个如果...

程序猿拿Q
11/15
0
0
selenium webdriver 环境搭建–java

selenium java环境的安装可以分为三个部分:jdk、eclipse和selenium. Jdk jdk(java development kit)是sun公司针对java开发人员的产品,是整个java的核心,包含了java的运行环境、工具和基础...

测试-雨
2015/01/05
0
0
java+selenium/java+selenium RC 项目搭建连接整理

手把手SELENIUMJAVA搭建总结汇总篇:http://wenku.baidu.com/link?url=AbZXo7JoH9Qaz0Q1aSWvTNLzeOwQCaqfn0wnvbYAXgF9qoYIY6Chhb0hU6m3sOI8dZ5iwOKThv9R2QQrmxO7yFNDBzpTBZlRFynIDC2q seleni......

智能小松鼠
2014/11/21
0
0
Selenium系列----->Selenium 脚本编写环境的搭建

脚本开发环境的搭建-JUnit *手把手SELENIUMJAVA搭建总结汇总篇:http://wenku.baidu.com/link?url=9dt8PTJiBNqt17CjjwPWk-QCUP2w6fMDjCBrCO6e-hXCBQCXwnmyzFK9ODgsPqvkgv1PtN8sQpF4pl-og33......

智能小松鼠
2015/02/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

0029-如何实现CDH元数据库MySQL的主备

1.文档编写目的 MySQL数据库自身提供的主从复制功能可以方便的实现数据的多处自动备份,实现数据库的扩展。多个数据备份不仅可以加强数据的安全性,通过实现读写分离还能进一步提升数据库的负...

Hadoop实操
12分钟前
2
0
阿里如何做到百万量级硬件故障自愈?

摘要: 随着阿里大数据产品业务的增长,服务器数量不断增多,IT运维压力也成比例增大。各种软、硬件故障而造成的业务中断,成为稳定性影响的重要因素之一。本文详细解读阿里如何实现硬件故障...

阿里云官方博客
13分钟前
2
0
配置resttemplate

<bean id="httpClientBuilder" class="org.apache.http.impl.client.HttpClientBuilder"factory-method="create"><property name="connectionManager"><bean class="org.apache.ht......

1713716445
16分钟前
0
0
Intersection of Two Linked Lists(leetcode160)

Write a program to find the node at which the intersection of two singly linked lists begins. For example, the following two linked lists: A: a1 → a2 ......

woshixin
22分钟前
1
0
Jrebel最新激活破解方式(持续更新)

https://blog.csdn.net/xingbaozhen1210/article/details/81093041

glen_xu
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部