selenium grid2 - node说明

清单TestLocalWebDriver.java

public void test01() throws MalformedURLException, InterruptedException{ 

         wd = new FirefoxDriver();  //启动本地的firefox浏览器
        wd.get("http://www.baidu.com");

        Thread.sleep(1000);
        System.out.println(wd.getCurrentUrl());
        wd.quit(); 
    }


在windows下selenium grid2的分布式测试

1. 启动selenium hub

 java -jar selenium-server-standalone-path -role hub

2. 启动selenium node(假设启动2 node)

2.1和2.2选其一

2.1  java -jar selenium-server-standalone-path -role node -hub http://ip_for_hub:4444/grid/register -port 5556 -browser:browserName=firefox,version=39,platform=WINDOWS

说明:注册windows下 firefox browser,版本为39的node,所以如果hub有分配cases时,会检查此node是否符合执行条件,如果符合,可以被分配到,如果不符合,则hub server会报错,简言之,此node只执行browserName=firefox,version=39,platform=WINDOWS的条件的case。

或者
2.2 java -jar selenium-server-standalone-path  -role node -hub http://ip_for_hub:4444/grid/register -port 5556

说明:注册node到hub上,对浏览器和系统都没有限制,所以如果hub有分配cases时,会检查此node是否符合执行条件,如果符合,可以被分配到,如果不符合,则hub server会报错,简言之, 此node可以执行ie/firefox/chrome/safari多种浏览器的用例

清单TestRemoteWebDriver.java(在server端只需一份代码即可)

public void test01() throws MalformedURLException, InterruptedException{

        String hubURL = "http://192.168.1.112:4444/wd/hub";
       
        System.out.println( "hubURL = " + hubURL);
        File file = new File("C:/Program Files (x86)/Mozilla Firefox/firefox.exe");
        System.setProperty("webdriver.firefox.bin", file.getAbsolutePath());
        DesiredCapabilities aDesiredCap = new DesiredCapabilities();
        aDesiredCap.setBrowserName("firefox");
        aDesiredCap.setVersion("");
        aDesiredCap.setPlatform(Platform.WINDOWS);
       
         wd = new RemoteWebDriver(new URL(hubURL),aDesiredCap);  //启动 node remotewebdriver=firefox浏览器

        //wd = new RemoteWebDriver(aDesiredCap);
        wd.get("http://www.baidu.com");

        Thread.sleep(1000);
        System.out.println(wd.getCurrentUrl());
        wd.quit();

    }

@Test
 
    public void test02() throws MalformedURLException, InterruptedException, UnknownHostException{
        
   
        
        File file = new File("C:/Program Files (x86)/Internet Explorer/IEDriverServer.exe");
        System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
        String hubURL = "http://192.168.1.112:4444/wd/hub";

        System.out.println( "hubURL = " + hubURL);
        DesiredCapabilities aDesiredCap = new DesiredCapabilities();
        
        aDesiredCap.setBrowserName("internet explorer");
        aDesiredCap.setVersion("");
        aDesiredCap.setPlatform(Platform.WINDOWS);
        aDesiredCap.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true);
        //wd = new InternetExplorerDriver();
        
        wd = new RemoteWebDriver(new URL(hubURL),aDesiredCap);  // //启动 node remotewebdriver=ie浏览器
    
    
        wd.get("http://www.qq.com");

        Thread.sleep(3000);
        System.out.println(wd.getCurrentUrl());
        wd.quit();
        
    }

public void test03() throws InterruptedException, IOException{
     
        File file = new File("C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromeDriver.exe");
        System.setProperty("webdriver.chrome.driver", file.getAbsolutePath());

        String hubURL = "http://192.168.1.112:4444/wd/hub";
        System.out.println( "hubURL = " + hubURL);
      
        DesiredCapabilities aDesiredCap = new DesiredCapabilities();
        
        aDesiredCap.setBrowserName("chrome");
        aDesiredCap.setVersion("");
        aDesiredCap.setPlatform(Platform.WINDOWS);
        
         ChromeDriverService service = new ChromeDriverService.Builder().usingDriverExecutable(file).usingAnyFreePort().build();
         service.start();
        
      
         wd = new RemoteWebDriver(new URL(hubURL) ,aDesiredCap); // //启动 node remotewebdriver=chrome浏览器
         System.out.println(service.getUrl());
         wd.get("http://mail.163.com");

         Thread.sleep(3000);
         System.out.println(wd.getCurrentUrl());
         wd.quit();
        // 关闭 ChromeDriver 接口
        service.stop();

    }

在启动remote webdriver后,test01/test02/test03被随机分配到满足条件firefox node上执行。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值