[英]Jmeter Clear cache after each http request
我試圖在線程組中完成每個http請求后清除緩存。 我已經使用過http_cache管理器,但沒有成功。
還嘗試使用以下代碼添加一個beanshell采樣器,但是沒有用
import org.apache.jmeter.protocol.http.control.CacheManager;
CacheManager clearCache = ctx.getCurrentSampler().getProperty("HTTPSampler.cache_manager").getObjectValue();
clearCache.clear();
並得到
ERROR - jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.CacheManager; CacheManager clear . . . ''
也嘗試使用前置/后置處理器,但不起作用。 還添加了http標頭的變量。
在每個采樣器之后刪除緩存沒有任何意義,因為您的JMeter腳本行為與實際的瀏覽器行為不符。
HTTP緩存管理器的主要功能是防止重復下載嵌入式資源,例如圖像,腳本,字體,樣式等,就像真實瀏覽器對連續HTTP請求所做的那樣。 有關更多詳細信息,請參見HTTP緩存文章。
如果您打算在請求之間刪除緩存-只需不將HTTP緩存管理器添加到測試計划中即可。
但是,如果您正在尋找手動啟動清除緩存的方法:
sampler
速記,它代表HTTPSamplerProxy,而后者又具有getCacheManager()
函數 因此,您需要添加一個合適的JSR223測試元素,即JSR223 PostProcessor並使用以下代碼:
sampler.getCacheManager().clear()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.