JMeter-Selenium脚本第二次迭代时清除Cookies和缓存的方案
方法1:清除当前会话Cookies
在每次迭代打开目标URL前,添加清除Cookies的代码,确保浏览器无残留Cookies:
- 在WebDriver Sampler中插入如下代码:
// 删除当前浏览器会话的所有Cookies WDS.driver.manage().deleteAllCookies();
方法2:清除浏览器缓存(以Chrome为例)
若仅清Cookies无效,可通过两种方式清除缓存:
启动浏览器时禁用缓存
在WebDriver配置元件中,配置ChromeOptions参数:
var options = new org.openqa.selenium.chrome.ChromeOptions(); // 禁用缓存并设置磁盘缓存大小为0 options.addArguments("--disable-cache"); options.addArguments("--disk-cache-size=0"); // 用配置好的options初始化driver WDS.driver = new org.openqa.selenium.chrome.ChromeDriver(options);
运行时主动清除缓存
通过Chrome DevTools命令清除已打开浏览器的缓存:
// 调用devtools命令清除浏览器缓存 WDS.driver.executeCdpCommand("Network.clearBrowserCache", new HashMap());
方法3:每次迭代重启浏览器
如果前两种方法都不生效,直接在每次迭代结束时关闭浏览器,下一次迭代重新初始化:
- 迭代末尾添加关闭代码:
WDS.driver.quit(); - 下一次迭代开始时重新创建WebDriver实例,保证每次都是全新的浏览器会话。
注意事项
- 清除操作必须放在打开目标URL的代码之前,确保页面加载前已完成清理。
- Firefox浏览器可对应使用
FirefoxOptions添加--disable-cache参数实现类似效果。
内容的提问来源于stack exchange,提问作者Raghav
相关产品推荐
相关产品推荐

