我有一个测试,我需要进行登录,关闭浏览器并再次打开它,然后检查页面上的内容。
运行带有远程集线器设置的webdriver时,如何执行此操作?或者我必须在没有远程的情况下运行它吗?
测试是这样的:
答案 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)
据推测,你正在测试一些饼干。遗憾的是,除非您正确约束它,否则无法保证任何特定节点都会执行任何请求。您需要让节点通告客户端随后请求的唯一功能,确保集线器每次都路由到该节点。但是,当然,如果该节点出现故障,您将无法使用任何可以为该请求提供服务的其他节点。