簡體   English   中英

如何在JMeter中修改/添加Cookie?

[英]How to modify / add to Cookie in JMeter?

我是JMeter的新手,需要你的幫助才能修改cookie。

這是一個場景:我正在測試一個評估/測試網站,提供多個問題答案。 當用戶進行選擇並點擊提交按鈕時,頁面中的JavaScript會將他的答案(例如,“Answers = BBAACDA ...”)附加到cookie並發出下一個GET請求(而不是POST請求!)。

因為,JMeter不執行JavaScript(如其手冊中通常提到的 - 它不是瀏覽器),它不能將答案附加到cookie。 因此,我的測試計划無法識別用戶交互。

如何添加/添加/修改動態cookie? 提前致謝!

--Ishti

使用Beanshell預處理器或更好的帶有groovy的Jsr223預處理器並使用此處提到的代碼:

碼:

import org.apache.jmeter.protocol.http.control.CookieManager;  
import org.apache.jmeter.protocol.http.control.Cookie;
CookieManager manager = sampler.getCookieManager();
Cookie cookie = new Cookie("<NAME>","<VALUE>","<HOST>","/",false,0);
manager.add(cookie);

我必須在對我有用的代碼中實現一些更改:

import org.apache.jmeter.protocol.http.control.CookieManager;  
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = ctx.getCurrentSampler().getCookieManager();
Cookie cookie = new Cookie("<NAME>","<VALUE>","<DOMAIN>","<PATH>",false,0, true, true, 0);
manager.add(cookie);

遵循http://jmeter.apache.org/api/org/apache/jmeter/protocol/http/control/Cookie.html中的定義

可以使用與https://stackoverflow.com/a/38505077/5747304相同的方式在groovy預處理器腳本中手動修改或添加cookie。

以下是通過瀏覽cookie管理器中的所有cookie來查找和編輯cookie的方法:

import org.apache.jmeter.protocol.http.control.CookieManager;  
import org.apache.jmeter.protocol.http.control.Cookie;

log.info("#########################################################################");
// cookie manager
CookieManager manager = ctx.getCurrentSampler().getCookieManager();

def NbOfCookies = manager.getCookieCount();

for (def i = 0; i < NbOfCookies; i++) {
    log.info("Cookie n° " + (i+1) + ": " + manager.get(i).getName() + ": " + manager.get(i).getValue());
    if (manager.get(i).getName() == "Cookie_name_to_find") {
        log.info("MAJ of Cookie_name_to_find");
        manager.get(i).setValue("New_cookie_value");
        log.info("-> " + manager.get(i).getName() + ": " + manager.get(i).getValue());
    }
}

log.info("#########################################################################");

以下是添加或刪除的cookie管理器方法列表...: http//jmeter.apache.org/api/org/apache/jmeter/protocol/http/control/CookieManager.html

以下是修改域名及其到期日期等更多屬性的cookie方法列表...: http//jmeter.apache.org/api/org/apache/jmeter/protocol/http/control/Cookie .html

應該知道,根據cookie管理器中選擇的標准,經理仍然可以在請求之前修改手動修改的值,因此您必須小心。

暫無
暫無

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

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