目前,我们的 Web 应用程序在不使用缓存的情况下完全加载大约需要 3 分钟,而使用缓存则需要 10 秒。当我通过 WebDriver 打开应用程序时,加载大约需要 3 分钟,即不使用缓存。我在 Firefox 和 Chrome 浏览器上观察到了这一点。不确定如何启用驱动程序使用缓存,而不是每次打开应用程序时从服务器加载每个文件。
这是我尝试过的事情。 1.在浏览器设置中禁用浏览器退出时清除缓存。 2. 将“applicationCacheEnabled”desiredcapabilitiy 设置为“true”
DesiredCapabilities cap = DesiredCapabilities.firefox();
cap.setCapability("applicationCacheEnabled", "true");
WebDriver d = new FirefoxDriver(cap)
但似乎没有任何效果。请让我知道如何让 webdriver 使用缓存。
最佳答案
问题是,selenium 在每次启动时都会将一个新的(firefox/chrome)配置文件复制到临时目录中,并用它启动 firefox/chrome。 但是,您可以始终对测试实例使用相同的配置文件。 我认为这样你可以让它工作得更快。
对于 Firefox,您只需执行以下步骤:
1. 在 selenium firefox 实例中加载您的 Web 应用程序,然后不要关闭它(不是 driver.close();)。
2. 然后转到帮助->故障排除信息并打开配置文件文件夹下的文件夹。
3. 将其内容复制到测试代码附近的新文件夹。
4. 在测试代码中加载保存的配置文件。你可以这样做:
FirefoxProfile profile = new FirefoxProfile(new File("profile/folder/path"));
WebDriver driver = new FirefoxDriver(profile);
我认为你可以在 chrome 中执行类似的操作。
关于google-chrome - 在 Firefox 和 Chrome 浏览器中保留缓存 - Selenium WebDriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22685755/