1、找两台Windows系统,一个是A,作为Hub;一个是B,作为Node;

2、在A、B两台电脑分别下载selenium-server-standalone-2.48.0.jar,并放到指定目录

3、先设置Hub,打开A电脑的cmd,cd进入该目录

4、并执行命令:java -jar selenium-server-standalone-.jar -2.48.0role hub  ,执行-role hub 意思是将server之行为hub主服务器,可以集中控制Node,命令行窗口出现以下i,192.168.1.2是本机IP,4444是grid默认端口

 

5、在浏览器输入 本机的IP 端口,打开grid,如:http://192.168.1.2:4444/grid/console,出现下图,代表启动成功,在B电脑的浏览器,输入A的IP端口访问grid成功

6、在B电脑也打开cmd窗口,进入selenium-server-standalone-2.48.0.jar 的目录,执行命令:java -jar selenium-server-standalone-2.48.0.jar -role webdriver -hub http://192.168.1.2:4444/grid/register -port 6655 ,设置B为node节点,端口号随便写一个,比如6666,讲该节点注册到主服务器A,执行命令后如下显示:

在A电脑的浏览器刷新grid地址,会出现Node的IP及配置信息

7、相关代码如下:

public static String nodeUrl = "http://192.168.1.5:6655/wd/hub";

@BeforeMethod

public void beforeMethod() throws MalformedURLException{
  DesiredCapabilities capability = DesiredCapabilities.firefox();//设定远程方法使用Firefox浏览器
  capability.setBrowserName("firefox");//设置node的浏览器为Firefox

  //设置node使用的操作系统为WINDOWS,设置成Win10报:org.openqa.selenium.WebDriverException: No enum constant org.openqa.selenium.Platform.WIN10,没去找具体原因,有空再分析
  capability.setPlatform(Platform.WINDOWS);

  //设置node的Firefox的路径,如果用System.setProperty("webdriver.firefox.bin", "D:\\Program Files\\Mozilla Firefox\\firefox.exe");不起作用,设置不了远程服务器的firefox路径

  capability.setCapability("firefox_binary", "D:\\Program Files\\Mozilla Firefox\\firefox.exe");//不设置时,报错selenium grid: Cannot find firefox binary in PATH.

  driver = new RemoteWebDriver(new URL(nodeUrl), capability);//启动node的driver
  driver.get("http://www.baidu.com/");
}

8、大概是这样,还有2个问题待解决

  1)用selenium-server-standalone-3.9.1.jar,执行脚本会报Driver info: driver.version: unknown,可能用高版本的grid需要再配置其他配置

  2)打开的火狐浏览器,总是默认打开火狐起始页,待解决

参考文档:https://www.cnblogs.com/zhangyachaun/p/4409480.html ,写的很全,对我帮助很大,分享给大家

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

远程IE浏览器设置:

1、在B服务器进行Hub节点注册使用如下命令

  java -jar selenium-server-standalone-2.48.0.jar -role webdriver -hub http://192.168.1.2:4444/grid/register -Dwebdriver.ie.dirver="C:\IEDriverServer.exe" -port 6655 -maxSession 5 -browser browserName="internet explorer",maxInstances=5

2、设置远程方法: 

  DesiredCapabilities capability = DesiredCapabilities.internetExplorer();//设定远程方法使用internetExplorer浏览器
  capability.setBrowserName("internetExplorer");//设置node的浏览器为internetExplorer

远程Chrome设置

1、在B服务器进行Hub节点注册使用如下命令

  java -jar selenium-server-standalone-2.48.0.jar -role webdriver -hub http://192.168.1.2:4444/grid/register -Dwebdriver.chrome.dirver="C:\chromedriver.exe" -port 6655 -maxSession 5 -browser browserName="chrome",maxInstances=5

2、设置远程方法: 

  DesiredCapabilities capability = DesiredCapabilities.chrome();//设定远程方法使用chrome浏览器
  capability.setBrowserName("chrome");//设置node的浏览器为chrome

 

学习selenium grid记录的更多相关文章

  1. Selenium Grid 学习笔记

    Selenium Grid 学习笔记http://www.docin.com/p-765680298.html

  2. 转:Selenium Grid深入学习

    应网友要求写一个用Selenium Grid控制多系统多浏览器并行执行test case的例子. 因为我这里有两台机子,我打算这样演示: 一台机子启动一个作为主点节的hub 和 一个作为次节点的hub ...

  3. 新人学习selenium哪些资源比较有帮助?

    为什么学习selenium? selenium现在基本上成了页面自动化测试的标配,具体理由我在selenium 3.0发布这篇文章里已经说明过了.当一个东西成为标准以后,那么它的能量和潜力都是巨大的. ...

  4. Selenium-IDE,Selenium-RC ,Selenium grid以及 Selenium-Core

    Selenium-IDE,Selenium-RC ,Selenium grid 以及 Selenium-Core Selenium 是一种 Web 应用的自动测试工具,通过模拟用户对 Web 页面的各 ...

  5. selenium grid 环境搭建

    一.selenium grid简介 selenium grid可以同时在不同机器上测试不同浏览器,包含一个hub和多个node.node会发送配置信息到hub,hub记录并跟踪每一个node的配置信息 ...

  6. 搭建selenium grid简单配置

    1.使用selenium提供的服务端独立jar包 :服务端.客户端都是运行于java7环境. 2.启动hub: hub配置文件如下: Java -jar selenium-server-standal ...

  7. Robot Framework + Selenium2Library环境下,结合Selenium Grid实施分布式自动化测试

    最近一段时间,公司在推行自动化测试流程,本人有幸参与了自定义通用控件的关键字封装和脚本辅助编写.数据驱动管理.测试用例执行管理等一系列工具软件的研发工作,积累了一些经验,在此与大家做一下分享,也算是做 ...

  8. Java学习-007-Log4J 日志记录配置文件详解及实例源代码

    此文主要讲述在初学 Java 时,常用的 Log4J 日志记录配置文件详解及实例源代码整理.希望能对初学 Java 编程的亲们有所帮助.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:20 ...

  9. Selenium Grid 运行报错 Exception thrown in Navigator.Start first time ->Error forwarding the new session Empty pool of VM for setup Capabilities

    Selenium Grid 运行报错 : Exception thrown in Navigator.Start first time ->Error forwarding the new se ...

随机推荐

  1. 【挖坟】HDU3205 Factorization

    分圆多项式 问题在于精度貌似出了一些奇怪的问题... [输出也写的有问题QAQ] 完全不会处理了 加上全网没有题解T^T 挖个坑以后补.. #include<cstdio> #includ ...

  2. python 的文件编码处理

    python的文件编码处理有点粗鲁 1.不管文件原来是编码类型,读入后都转换成Unicode的编码 2.写入文件时,write函数把变量以读入文件的编码方式写入(根据open(path,mode,en ...

  3. ThinkingRock:使用方法

    摘自:http://www.mifengtd.cn/articles/how_to_use_thinkingrock.html 不使用Thinkingrock的朋友,也可以看看.因为在处理(Proce ...

  4. pgsql SQL监控,查询SQL执行情况

    SELECT procpid, START, now() - START AS lap, current_query FROM ( SELECT backendid, pg_stat_get_back ...

  5. 第三周作业—N42-虚怀若谷

    一.显示/etc/目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录 ls  /etc/[^[:alpha:]][[:alpha:]]* 二.复制/etc/目录下所有以p开头的 ...

  6. MyBatis框架之异常处理

    MyBatis框架定义了许多的异常类,之所以定义这么多的异常类,应该是将每一种异常情况都独立出来,这样在出现异常时,定位就很明确了.而我们平时写代码时,都是瞎搞一通,异常类大多也是随便定义,或者是使用 ...

  7. Python3解leetcode Count Primes

    问题描述: Count the number of prime numbers less than a non-negative number, n. Example: Input: 10 Outpu ...

  8. vue中img图片加载中以及加载失败显示默认图片问题

    加载中默认图片:主要是onload事件监听,data中定义变量 imgSrc :require('./default.png'): <div class="per-pic" ...

  9. 纯CSS 常见3D实例

    一.正方体 我认为正方体可以算是3D图像的基础吧,首先正方体是由六个相同的面所组成,其次就需要我们依次构造.(据体构造在代码中)成平图如下: 代码如下: <!DOCTYPE html> & ...

  10. JS 替换

    JS 字符串有replace() 方法.但这个方法只会对匹配到的第一个字串替换. 如下例: var str = "wordwordwordword"; var strNew = s ...