您的位置:首页 > Web前端 > Node.js

selenium grid2 - node说明

2015-08-12 17:22 656 查看
清单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
[b]remotewebdriver=
firefox浏览器[/b]

//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 [b]
remotewebdriver=ie
浏览器[/b]

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上执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: