目前我已经开始使用selenium 2.0 / web-driver为我工作的公司进行自动化测试。
目前我已经开发了大约20个用于测试的测试,但是当我运行测试时,他们为每个测试打开一个新的浏览器窗口。
不幸的是,虽然我需要在第一次测试中执行的新用户注册/登录信息,以便在我测试网上商店/购物车时在其余测试中使用。
我的问题是,是否有办法停止让所有新浏览器窗口打开或关闭窗口,然后将焦点放回新用户注册并登录的第一个窗口?通过在写一个问题之前做一些研究,我发现了
driver.getWindowHandles();
我已在注册测试用例中运行,然后
driver.switchTo().window("handle");
我在第二个测试用例中运行,我认为应该将焦点放回第一个窗口
我还使用driver.close();
来关闭正在创建的其他窗口,但我希望它们首先不会打开。
答案 0 :(得分:0)
如果我理解了你需要的问题 - 用@Before注释添加程序,在这个程序中打开驱动程序。然后使用@After注释添加过程,然后关闭驱动程序。在测试中(使用@Test注释),您需要使用driver.get。在这种情况下,新窗口将不会打开。