在典型SPA页面的自动化测试期间,应该在每个场景运行后通过selenium e2e测试关闭浏览器还是应该保持打开状态?
在每个较大的场景之后关闭并打开浏览器的专业人员认为上下文是新鲜的,并且应该没有问题,如缓存问题或其他依赖性等。但是,这可能足以进行硬刷新而不是关闭浏览器?
离开浏览器窗口的专业人员是e2e测试的总体速度 - 关闭浏览器并开始新的会话总是需要时间,在我们的例子中,两者之间的差异在浏览器打开时快20%。
我的问题是:在一个浏览器会话中打开浏览器并运行所有测试时是否还有其他潜在问题?
答案 0 :(得分:2)
我自己这样做是通过关闭浏览器并在每次运行时开始新的浏览器。就像你说它会为你提供一个新的背景。另一个原因是我可以为每个测试用例设置自定义设置。在我的情况下,我正在执行大量下载。我确保每个测试用例通过在每个测试用例之前更改firefox / chrome设置来下载到自己的文件夹。
每次运行后我关闭并打开浏览器的另一个主要原因是它允许您并行运行测试。对所有测试用例使用单个浏览器时,这是不可能的。如果你运行然后我并行关闭浏览器,你的测试甚至会比20%更快。
答案 1 :(得分:0)
我希望以下选项可以帮助您。
driver.close()
。driver.manage().deleteAllCookies();
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability(CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
capabilities.setCapability("chrome.switches", Arrays.asList("--incognito"));