簡體   English   中英

Jmeter在每個HTTP請求之后清除緩存

[英]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緩存管理器添加到測試計划中即可。


但是,如果您正在尋找手動啟動清除緩存的方法:

因此,您需要添加一個合適的JSR223測試元素,即JSR223 PostProcessor並使用以下代碼:

sampler.getCacheManager().clear()

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM