1

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

使用远程集线器设置运行 webdriver 时如何执行此操作?还是我必须在没有遥控器的情况下运行它?

测试是这样的:

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

2 回答 2

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();
于 2012-05-10T23:07:37.960 回答
1

大概你正在测试一些 cookie 的东西。不幸的是,不能保证任何特定节点都会执行任何请求,除非您正确限制它。您需要让一个节点通告客户端随后请求的唯一功能,以确保集线器每次都会路由到该节点。但是,很自然,如果该节点出现故障,您将没有任何其他节点可以为请求提供服务。

于 2012-05-13T14:48:12.020 回答