google-chrome - 在 Firefox 和 Chrome 浏览器中保留缓存 - Selenium WebDriver

标签 google-chrome firefox caching selenium

目前,我们的 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/

相关文章:

JavaScript - "yield"是 ES7 中的正确标识符名称吗

javascript - knockout.js 永远在 chrome 中渲染带有大数组的 html

css - 以 % 为单位设置最大宽度样式的图像由 Firefox 以 px 为单位输出。适用于 Chrome

firefox - SWFUpload 仅在 Firefox 中给出错误 "Invalid function name: ReturnUploadStart"

google-chrome - Chrome 中的圆 Angular 不起作用

javascript - 如何在 JavaScript 中从 Chrome 的控制台读取

JavaScript 按钮在 Chrome 和 IE 中完美触发,但在 Firefox 中不起作用

node.js - 无法让默认的 Apollo Server 缓存工作

mysql - Cakephp 3 - 带限制的缓存查询

ios - iOS 钥匙串(keychain)使用限制