Selenium grid 分布式运行测试代码

Selenium Grid是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web-app的功能测试。利用Grid,可以很方便地同时在多台机器上和异构环境中并行运行多个测试事例。

Selenium Grid里面有两种角色:Hub和Node。Hub(集线器)是接收所有的请求,然后它会将请求分发给不同的Node,Node来实际驱动浏览器。

步骤如下:
1.下载selenium-server-standalone-2.38.0.jar 复制到hub机器和node机器
2.创建 hub (测试代码所在的机器)
java -jar selenium-server-standalone-2.38.0.jar -role hub 
3.创建 node (测试代码执行环境所在的机器)
java -jar selenium-server-standalone-2.38.0.jar -role node  -hub   http://hubIP:port/grid/register
测试代理必须在测试机上执行(远程执行failed)监听端口默认是4444,可自行设置
4.执行测试用例
在hub机器上启动代码,代码将会在node机器上执行


若hub 或者 node 一方断开,重启断开那方,依然能再次注册成功

更多操作命令:java -jar selenium-server-standalone-2.38.0.jar -help

远程版:

[java] view plaincopy
 
  1. import org.openqa.selenium.*;  
  2. import org.openqa.selenium.remote.DesiredCapabilities;  
  3. import org.openqa.selenium.remote.RemoteWebDriver;  
  4.   
  5. DesiredCapabilities ffDesiredcap = DesiredCapabilities.firefox();  
  6. DesiredCapabilities chromeDesiredcap = DesiredCapabilities.chrome();  
  7. DesiredCapabilities ieDesiredcap = DesiredCapabilities.internetExplorer();  
  8. WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), ieDesiredcap);  
  9. wd.get("http://www.google.com");  
  10. Thread.sleep(1200);  
  11. System.out.println(wd.getCurrentUrl());  
  12. wd.quit();  

你可能感兴趣的:(自动化测试)