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)
上一篇 2022年3月4日 下午6:00
下一篇 2022年3月4日 下午6:00


相关推荐

  • Caffeine教程

    Caffeine教程如果是想直接看官网教程的请移步 https github com ben manes 而如果还想结合实际应用场景 以及各种坑的 请看本文 最近来了一个实习生小张 看了我在公司项目中使用的缓存框架 Caffeine 三天两头跑来找我取经 说是要把 Caffeine 吃透 为此无奈的也只能一个个细心解答了 后来这件事情被总监直到了 说是后面还有新人 让我将相关问题和细节汇总成一份教程 权当共享好了 该份教程也算是全网第一份 结合了目前我司游戏中业务场景的应用和思考 以及踩过的坑 实习生小张

    2025年12月1日
    4
  • linux vim 编辑 保存 退出

    linux vim 编辑 保存 退出一 进入文件 vim etc profile 二 编辑文件按 i 进行编辑三 保存与退出 1 首先按 esc 键返回命令编辑模式 刚才的 Insert 会消失 2 按英文状态的 3 此时进行 q 不保存文件 强制退出 vi 命令 w 保存文件 不退出 vi 命令 wq 保存文件 退出 vi 命令 4 输入以上命令按 enter 进行

    2026年3月17日
    2
  • amazement的用法_release的用法

    amazement的用法_release的用法Mutex中提供了WiteOne,ReleaseMutex两个实例方法~WiteOne的作用是”阻塞当前线程,提供对该线程的原子操作”也就是说当一个线程遇到WiteOne的时候,如果在WiteOne里面没有线程在操作,则此线程进去操作而里面有线程的时候,所有到此的线程均需要排队等候里面的线程执行完毕~而控制这样操作的结束标记就是使用ReleaseMutex方法!就好比WiteO…

    2022年4月19日
    54
  • qlineedit_qt layoutstretch

    qlineedit_qt layoutstretch简述QLineEdit是一个单行文本输入框。QLineEdit允许用户输入和编辑单行纯文本,提供了很多有用的编辑功能,包括:撤消和重做、剪切和粘贴、以及拖放(见setDragEnabled())。通过改变输入框的echoMode(),同时也可以设置为一个“只写”字段,用于输入密码等。文本的长度可以被限制为maxLength(),可以使用一个validator()或inputMask()来任意限制文本

    2022年10月6日
    4
  • Android 【将图片网址Url转化为Bitmap工具类】

    Android 【将图片网址Url转化为Bitmap工具类】

    2021年3月12日
    146
  • currentstyle 织梦_设置typeid后织梦currentstyle 不起作用的修复方法

    {dede:channeltype=’son’row=’8’currentstyle=”~typename~”}[field:typename/]{/dede:channel}这种调用方式currentstyle有效但是设置typeid:{dede:channeltype=’son’row=’8’typeid=1currentstyle=”~typename~”}[…

    2022年4月9日
    43

发表回复

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

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