软件测试培训
美国上市软件测试培训机构

400-111-8989

热门课程

分布并行测试--Selenium自动化(二十二)

  • 时间:2016-09-07
  • 发布:软件测试培训
  • 来源:软件测试教程

首先介绍一下grid ,selenium grid 是一种执行测试用例时使用的包含不同平台(windows、Linux、Android)的框架,并且这些平台是由一个中心点控制,这个中心点称之为HUB,而那些不同的平台称之为NODE

其结构如下:

NODE  其结构

为什么使用selenium grid:

如果你的程序需要在不用的浏览器,不同的操作系统上测试,而且比较多的case需要多线程远程执行,那么一个比较好的solution就是使用grid.selenium-grid是用于设计帮助我们进行分布式测试的工具,其整个结构是由一个hub节点和若干个代理节点组成。hub用来管理各个代理节点的注册和状态信息,并且接受远程客户端代码的请求调用,然后把请求的命令再转发给代理节点来执行。

步骤1:首先定义3个json文件,分别作为一个hub和两个node的配置文件,写json的目的是简化我们在传递给selenium-server-standalone.jar的一些参数配置。

在此先简单介绍下json。

JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

JSON 是轻量级的文本数据交换格式

JSON 独立于语言 *

JSON 具有自我描述性,更易理解

例:

{ "

employees": [

{ "firstName":"Bill" , "lastName":"Gates" },

{ "firstName":"George" , "lastName":"Bush" },

{ "firstName":"Thomas" , "lastName":"Carter" }

]}

这里的employees是一个对象,他有3组属性每组呢,包含两个属性:firstName,lastName;这两个属性都有对应的值。

我们定义的grid json文件:

for hub:

grid json文件

for node1:

grid json文件

for node2:

grid json文件

步骤2:启动hub

java -jar "tool\\selenium-server-standalone.jar" -role hub -hubConfig "conf\\hub.json"

步骤3:启动node

java -jar "tool\\selenium-server-standalone.jar" -role node -Dwebdriver.chrome.driver="tool\\chromedriver.exe" -nodeConfig "conf\\node1.json"

java -jar "tool\\selenium-server-standalone.jar" -role node -Dwebdriver.firefox.bin="C:\\PROGRA~2\\MOZILL~1\\firefox.exe" -nodeConfig "conf\\node2.json"

步骤4:初始化chrome driver

DesiredCapabilities cmCaps = DesiredCapabilities.firefox();

WebDriver cmDriver = new RemoteWebDriver(new URL("http://localhost:5555/wd/hub"), cmCaps);

步骤5:初始化firefox driver

DesiredCapabilities ffCaps = DesiredCapabilities.firefox();

WebDriver ffDriver = new RemoteWebDriver(new URL("http://localhost:6666/wd/hub"), ffCaps);

后续的就和普通的selenium操作一样了。

上一篇:数据驱动之sqlite--Selenium自动化(二十一)
下一篇:什么是自动化测试?-QTP自动化测试

数据驱动之sqlite--Selenium自动化(二十一)

数据驱动之csv--Selenium自动化(二十)

数据驱动之properties--Selenium自动化(十九)

Page Object改进--Selenium自动化(十八)

选择城市和中心
贵州省

广西省

海南省