Selenium Grid 安装

Selenium Grid 安装

大家好,又见面了,我是全栈君。

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  -hubhttp://192.168.4.124:4444/grid/register
  其中192.168.4.124为主节点机子的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.4.137:5555/wd/hub”),test);
dr.get(“http://www.baidu.com”);
}
}
  在主节点机子上运行上面的代码,你可以在次节点机子上看到firefox浏览器被启动,然后打开了www.baidu.com这个网址。
  
值得注意的是:
  WebDriver dr = new RemoteWebDriver(newURL(“http://192.168.4.137:5555/wd/hub”),test);
  这一句中的192.168.4.137为次节点的ip地址。
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  -hubhttp://192.168.4.124:4444/grid/register
  其中192.168.4.124为主节点机子的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.4.137:5555/wd/hub”),test);
dr.get(“http://www.baidu.com”);
}
}
  在主节点机子上运行上面的代码,你可以在次节点机子上看到firefox浏览器被启动,然后打开了www.baidu.com这个网址。
  
值得注意的是:
  WebDriver dr = new RemoteWebDriver(newURL(“http://192.168.4.137:5555/wd/hub”),test);
  这一句中的192.168.4.137为次节点的ip地址。
最新内容请见作者的GitHub页:http://qaseven.github.io/


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/108373.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 什么叫做解析几何_笛卡尔心形函数

    什么叫做解析几何_笛卡尔心形函数解析几何是进行科学研究的重要的数学工具。比如说,要确定船只在大海中航行的位置,就要确立经纬度,这就需要精确的掌握夭体运行的规律;要改善枪炮的性能,就要精确地掌握抛射物体的运行规律。解决这些问题必须采用解析几何。因为它可以利用字母表示流动坐标,用方程刻划一般平面的曲线。解析几何的发明人就是伟大的数学家笛卡尔。笛卡尔15%年出生在法国,父亲是一位相当富有的律师。8岁时,父亲把他送进荃督教会学校读书。他…

    2022年10月10日
    3
  • Java数组删除指定元素

    Java数组删除指定元素//删除数组中其中一个元素publicstaticvoidtestB(){String[]str={“Java”,”C++”,”Php”,”C#”,”Python”};//删除phpList<String>list=newArrayList<String>();for(inti=0;i<str.length;i++){list.add(str[i]

    2022年8月11日
    5
  • python有序列表_python有序列表以及方法的介绍(代码)

    python有序列表_python有序列表以及方法的介绍(代码)本篇文章给大家带来的内容是关于python有序列表以及方法的介绍(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。有序列表以及有序列表的函数和方法(list)list=[‘hello’,’wrold’]#len获取查询长度length=len(list)#append添加一个新元素,到list的末尾list.append(‘admin’)#pop删除指定位…

    2022年6月16日
    39
  • LTE学习之路(15)——QCI

    LTE学习之路(15)——QCIQCI表示QoS类别指示。这是一种特定标识,其定义了LTE数据包通信的质量QCI类别范围:1~9(每个类别的定义如下表所示)注意:通过‘ActivatedefaultEPSbearercon

    2022年8月4日
    4
  • java、spring线程池面试题

    java、spring线程池面试题一、线程池的好处?1.通过newThread来创建线程池会比较耗时,性能差,当我们在通过线程的时候,有可能会出现(创建线程+销毁线程)的时长>线程执行(业务逻辑)的时长;2.线程缺乏统一管理,可能会出现无限制的创建线程,线程之间相互竞争,争夺资源而导致系统崩溃;3.缺乏更多的管理功能,比如定时执行、定期执行、线程中断;相比较于newThread,创建线程的好处在于:1.重用已存在的线程,避免线程新建和消亡产生的开销。2.可以控制最大并发数,避免同时多个线程执行,争夺资源,导致系统崩溃;

    2022年5月6日
    74
  • kong安装与部署

    kong安装与部署Centos7单机部署kong文档步骤 前置步骤:已安装jdk1.8和tomcat部署环境:centos7目标任务:kong:v0.14.x,postgresql:v10.5(注意:psql版本必须与kong版本对应)耗时任务:nodejs的安装(40+分钟) 安装依赖包安装gcc编译环境$yuminstall-ygccgcc-c++pcr…

    2022年6月26日
    25

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号