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上执行。
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上执行。
相关文章推荐
- Leetcode#25||Reverse Nodes in k-Group
- Swap Nodes in Pairs
- Leetcode#24||Swap Nodes in Pairs
- [LeetCode] Populating Next Right Pointers in Each Node II
- datanode起不起来
- Nodejs的上传模块formidable
- [LeetCode] Populating Next Right Pointers in Each Node
- node.js + Express 学习之 环境配置篇
- 117. Populating Next Right Pointers in Each Node II
- 116. Populating Next Right Pointers in Each Node
- 利用promise写出更加优美的nodejs程序
- 在 Node.js 中用 Q 实现 Promise – Callback 之外的另一种选择
- NodeJs教程
- Node.js async in practice: When to use what?
- 在Node.js中使用promise摆脱回调金字塔
- Node.js 常见面试题
- Leetcode#19||Remove Nth Node From End of List
- node.js--Less
- [转]Nodejs开发框架Express4.x开发手记
- LeetCode题解:Delete Node in a Linked List