本地版:
import org.openqa.selenium.*; import org.openqa.selenium.firefox.*; import org.openqa.selenium.chrome.*; import org.openqa.selenium.htmlunit.*; import org.openqa.selenium.ie.*; // WebDriver driver = new ChromeDriver(); // WebDriver driver = new FirefoxDriver(); // WebDriver driver = new HtmlUnitDriver(); WebDriver driver = new InternetExplorerDriver(); driver.get("http://www.dangdang.com"); System.out.println(driver.getCurrentUrl()); driver.quit();
远程版:
import org.openqa.selenium.*; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; DesiredCapabilities ffDesiredcap = DesiredCapabilities.firefox(); DesiredCapabilities chromeDesiredcap = DesiredCapabilities.chrome(); DesiredCapabilities ieDesiredcap = DesiredCapabilities.internetExplorer(); WebDriver wd = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), ieDesiredcap); wd.get("http://www.google.com"); Thread.sleep(1200); System.out.println(wd.getCurrentUrl()); wd.quit();上述测试都成功了,就说明你的环境已经搭建成功,依次你可以在多个系统、平台上搭建Selenium2环境。
javac -classpath $HOME/path/to/selenium-server.jar Test.java java -classpath $HOME/path/to/selenium-server.jar Test
java -jar selenium-server-standalone-x.xx.x.jar -role hub启动hub的机器可以不是测试机,任意一台机器有Java环境的机器都可以。这个是整个Selenium-Grid的中枢节点,所有的远程测试都会由经它后再被转发出去,然后在对应的测试机上执行测试。
java -jar selenium-server-standalone-x.xx.x.jar -role node测试代理必须在测试机上启动【即之前搭建了Selenium2环境的机器上】,并且其注册的地址必须是hub所在的机器的ip和端口。一台测试机上可以启动多个代理,前提是要保证不使用相同的端口即可。【当然不建议这样做,尽量避免不稳定因素】
当hub和所有的代理节点都启动成功后,可以通过浏览器查看当前Selenium-Grid的状态,直接访问地址http://localhost:4444/grid/console。 可以看到页面显示了可以支持测试的代理节点的数量和类型,这里显示的数量和类型和你启动代理节点时所带的配置参数有关。当启动代理节点时其实就是一个注册过程;启动时所带的参数会被hub记住作为注册信息,所以页面中所看到的信息就是各代理节点注册时信息的汇总。