Selenium grid2:如何在远程关闭和打开浏览器

时间:2012-05-10 19:47:35

标签: selenium webdriver selenium-grid

我有一个测试,我需要进行登录,关闭浏览器并再次打开它,然后检查页面上的内容。

运行带有远程集线器设置的webdriver时,如何执行此操作?或者我必须在没有远程的情况下运行它吗?

测试是这样的:

  1. 打开浏览器
  2. 登录
  3. 关闭浏览器
  4. 再次打开浏览器
  5. 检查登录记录

2 个答案:

答案 0 :(得分:2)

实现此目标的过程将非常类似于非网格环境中的解决方案。请注意,以下代码是为Java编写的,但我无法想象C#会有很大不同。

WebDriver driver = new RemoteWebDriver("hubURL", desiredCapabilities);
driver.manage().deleteAllCookies();
driver.get("http://path/to/page");
//login to application
driver.quit(); //This will close the browser on the remote machine

//Now to try it again

driver = new RemoteWebDriver("hubURL", desiredCapabilities);
driver.get("http://path/to/page");
Assert.assertTrue(some element that is not on the login page but is on the page after is present);
driver.quit();

答案 1 :(得分:1)

据推测,你正在测试一些饼干。遗憾的是,除非您正确约束它,否则无法保证任何特定节点都会执行任何请求。您需要让节点通告客户端随后请求的唯一功能,确保集线器每次都路由到该节点。但是,当然,如果该节点出现故障,您将无法使用任何可以为该请求提供服务的其他节点。