测试人员如何搭建Selenium-Grid2环境(参考Java)

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. 代码测试

本地版:

[java] view plain copy

  1. import org.openqa.selenium.*;
  2. import org.openqa.selenium.firefox.*;
  3. import org.openqa.selenium.chrome.*;
  4. import org.openqa.selenium.htmlunit.*;
  5. import org.openqa.selenium.ie.*;
  6. //    WebDriver driver = new ChromeDriver();
  7. //    WebDriver driver = new FirefoxDriver();
  8. //    WebDriver driver = new HtmlUnitDriver();
  9. WebDriver driver = new InternetExplorerDriver();
  10. driver.get("http://www.dangdang.com");
  11. System.out.println(driver.getCurrentUrl());
  12. driver.quit();

远程版:

[java] view plain copy

  1. import org.openqa.selenium.*;
  2. import org.openqa.selenium.remote.DesiredCapabilities;
  3. import org.openqa.selenium.remote.RemoteWebDriver;
  4. DesiredCapabilities ffDesiredcap = DesiredCapabilities.firefox();
  5. DesiredCapabilities chromeDesiredcap = DesiredCapabilities.chrome();
  6. DesiredCapabilities ieDesiredcap = DesiredCapabilities.internetExplorer();
  7. WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), ieDesiredcap);
  8. wd.get("http://www.google.com");
  9. Thread.sleep(1200);
  10. System.out.println(wd.getCurrentUrl());
  11. wd.quit();

上述测试都成功了,就说明你的环境已经搭建成功,依次你可以在多个系统、平台上搭建Selenium2环境。

注:

如果使用IDE则把selenium-standalone-server的jar包引用到项目build path,如果直接从命令行编译和执行的话,则必须指定该jar包的路径,否则编译会失败。

[java] view plain copy

  1. javac -classpath $HOME/path/to/selenium-server.jar Test.java
  2. java -classpath $HOME/path/to/selenium-server.jar Test

搭建Selenium-Grid环境

当所有测试机上的Selenium2环境搭建成功后,就可以开始启动Selenium-Grid2环境了。

首先启动一个hub

[java] view plain copy

  1. java -jar selenium-server-standalone-x.xx.x.jar -role hub

启动hub的机器可以不是测试机,任意一台机器有Java环境的机器都可以。这个是整个Selenium-Grid的中枢节点,所有的远程测试都会由经它后再被转发出去,然后在对应的测试机上执行测试。

启动测试代理node

[java] view plain copy

  1. 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

时间: 2024-10-11 15:07:49

测试人员如何搭建Selenium-Grid2环境(参考Java)的相关文章

重装系统后,重新搭建Selenium Server+Firefox环境

摘要:搭建Selenium自动化测试环境其实是非常简单的事情,在态度上我们不要把它当成难事:折腾起来是很愉快的,自然就成功了. 下面把这次安装的过程记录下来,一来是加深印象,二来可以给大家提供参考. 第一步:安装Python环境——So Easy 1.百度,输入Python,各种下载链接:我下载的是3.3最新版本. 2.下载的exe文件就和安装QQ一样的.Python会自动在环境变量Path中加入自己的路径,我们无须手动设置. 3.安装完成后,进入CMD,输入Python有版本信息,并进入Pyt

ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio、sdk、jdk(by 星空武哥)

转载请标注原创地址:http://blog.csdn.net/lsyz0021/article/details/52215996 所有的软件均在ubuntu 14.04 LTS下测试 ubuntu下搭建android开发环境(一)安装ubuntu系统 ubuntu下搭建android开发环境(二)设置ubuntu的root管理员密码 ubuntu下搭建android开发环境(三)ubuntu安装搜狗输入法 ubuntu下搭建android开发环境(四)核心篇安装AndroidStudio.sdk

(转)你没有成为专业的测试人员,原因何在?

1.你认为测试并不是一份技术性的职业,所以并不去尝试学习理解产品的编码 如果你从事的是软件开发,至少会理解一些软件工程的知识.而作为测试人员,你应该能够读懂代码来分析产品,来理解代码的变更和修复将会如何引入其他的bug.黑盒vs白盒的日子应该结束了. 如果你不想这样,即使不用写任何代码依然可以从事该工作.但是如果你不去读代码,将会失去对整个测试流程很重要的一项投入. 2.只有当开发人员告知开始测试时才真正介入到整个流程中 大家如实的回答,在整个开发流程中何时开展测试的? 理论上我们想在需求收集分

Python 语言搭建SELENIUM测试环境,搭建过程记录。

第一步,安装Python: 第二步,安装SetupTools: 第三步,安装Pip: 第四步,安装selenium(for python) 第五步,新建第一个基于Firefox的测试用例 上述 只是步骤,具体内容,明天补充,睡觉 咯--- Python 语言搭建SELENIUM测试环境,搭建过程记录.

Selenium自动化测试环境搭建Eclipse+Selenium+Junit+TestNG

1.安装JDK JDK1.7 下载路径:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 一路猛击‘下一步’,OK.安装完成后配置环境变量: JAVA_HOME = E:\Java\Java\jdk1.7.0_15 PATH = %JAVA_HOME%\bin CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.j

python+selenium自动化环境搭建之后,能打开firefox,却不能执行自动化操作

python+selenium自动化环境搭建之后,选择执行,能够打开firefox,但是却不能继续执行后续操作.原因是selenium的版本与firefox的版本不兼容. 解决办法: 1.将firefox降到与selenium相对应的版本.例如我使用selenium版本是3.3.3,那我对应的firefox版本是52.0.2,如果firefox继续升级,也会出现不兼容的情况.建议可以在firefox的工具--选项--高级中设置为不检查更新,以免软件自动更新出现问题. 2.安装该浏览器版本对应的g

Mac系统搭建java+selenium+testng环境

Mac系统搭建java+selenium+testng环境: 1.   配置java环境,安装eclipse 2.  离线安装testng插件 3.  配置maven环境 4.  安装谷歌浏览器,下载对应浏览器版本的chromedriver 陆陆续续遇到的一些小问题记录: 1.  testng是使用离线方式安装的,离线包下载地址:http://dl.bintray.com/testng-team/testng-eclipse-release/ 下载完成后将其放到eclipse的dropins文件

测试人员在敏捷团队中扮演的角色

对于开发模式,现在大部分互联网公司都完成了从传统瀑布开发模式到敏捷开发模式的转型,这种转型相对传统的测试人员来说,不论是在角色定位还是在技能栈方面都提出了更大的挑战,那么测试人员应该如何应对呢?下面根据我平时工作的一些总结体会来说说测试人员应该发力的方向,供大家参考: 角色 1: 培训人员 在转型初期,测试人员应该针对开发人员的薄弱环节(即业务技能)进行培训和指导.由于工作任务的差别,开发人员对负责的模块业务和具体实现细节非常了解,但是对周边模块或者业务并不是非常清楚,主要体现在配置和使用方面.

Eclipse和PyDev搭建python开发环境

               Eclipse和PyDev搭建python开发环境 1.1总体目标 本文档作为python学习者的入门教程,通过本教程可以了解python用途.语法.在实际工作中的应用. Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python是完全面向对象的语言.函数.模块.数字.字符串都是对象.并且完全支持继承.重载.派生.多继承,有益于增强源代码的复用性. Python在执行时,首先会将.py文件中的源代码编译成Python的bytecode(字节