2014-09-22 84 views
2

改變頁面之間的cookie值我知道如何使用BeanShell的預處理器從修改的cookie: How to modify/add to Cookie in JMeter?如何在JMeter的

由於PMD UBIK-INGENIERIE的答案!

現在,我的問題是:如何修改頁面之間的cookie值?讓我解釋一下,我有一個名爲'Answers'的cookie,第一頁是空的,即Answers =「」(空),然後在第二頁中獲取值Answers =「 - , - , - , - - 「;最後在第三頁它需要更長的價值答案=「 - ,A,B, - ,C, - ...」

如何修改同一個cookie在不同的頁面?我看到了CookieManager API:http://jmeter.apache.org/api/org/apache/jmeter/protocol/http/control/CookieManager.html

但是任何人都可以請一個例子來解釋嗎?謝謝!

回答

2

由於不可能有具有相同名稱的2種餅乾的CookieManager是足夠聰明,以取代現有的Cookie有一個新的值(見removeMatchingCookies(c); // Can't have two matching cookies線)

所以

  1. 請求1:需要毫無作爲你不能發送具有空值
  2. 要求2和3餅乾:添加Beanshell PreProcessor與喜歡相同的代碼:

    import org.apache.jmeter.protocol.http.control.Cookie; 
    import org.apache.jmeter.protocol.http.control.CookieManager; 
    
    CookieManager manager = ctx.getCurrentSampler().getProperty("HTTPSampler.cookie_manager").getObjectValue(); 
    Cookie cookie = new Cookie("Answers", "**VALUE**", sampler.getDomain(), sampler.getPath(), false, System.currentTimeMillis()); 
    manager.add(cookie); 
    sampler.setCookieManager(manager); 
    

    **Value**的請求2將-,-,-,-,-,-並請求3將-,A,B,-,C,- ...

有關BeanShell的腳本和種類的BeanShell食譜的參考How to use BeanShell: JMeter's favorite built-in component指南的詳細信息。

+0

嗨德米特里,謝謝你的鏈接。有什麼方法可以評論你的文章嗎?爲了讓它適合我,我必須做出一些小的改變,我想與其他人分享這些改變,以免它們碰到相同的障礙。另外,你有沒有關於如何使用csv數據讀取器跨線程組工作的建議? – user420667 2017-05-31 15:38:01