2017-08-15 59 views
0

場景:的JMeter cookie處理,而頁面重定向

  • 登錄(網址1)從着陸頁

  • 啓動鏈接

  • 新推出的鏈接(URL 2)

URL 1和URL 2具有相同的域但不同的子域。 有添加HTTP Cookie管理

當我正在使用的JMeter 3.2我的腳本只有HC4CCookieHandler

登錄是通過 啓動它有不同的子域失敗,鏈接和驗證有沒有在增加餅乾請求,這裏的會話ID和其他cookie應該已經添加到請求中。

有人可以幫忙嗎?

還添加了Beanshell後處理器從登錄響應中提取cookie並將其作爲預處理器添加到重定向的請求中,但發生錯誤。

Error: jmeter.util.BeanShellInterpreter: Error invoking bsh method: eval Sourced file: inline evaluation of: ``import org.apache.jmeter.protocol.http.control.CookieManager;

+0

添加beanshell代碼 – user7294900

+0

對於cookies問題,您是否嘗試設置CookieManager.check.cookies = false '在jmeter.properties? BeanShell錯誤:您需要發佈腳本以及整個錯誤(可以在jmeter日誌中找到) –

回答

0
  1. 看不到所有的餅乾可能表示餅乾的問題的事實。您可以啓用HTTP Cookie管理器的調試日誌記錄以查看錯誤。

    • 點擊HTTP Cookie管理
    • 點擊 「幫助 - >啓用調試」 在JMeter的主菜單
    • jmeter.log觀察CookieManager - 相關消息文件

      JMeter Cookie Manager enabled debug

  2. 默認Cookie管理器做不存儲「無效」的Cookie(域名不匹配,已經過期等),如果你確定你的應用程序的行爲應該如此 - 你需要「告訴」JMeter在任何情況下存儲這個cookie,你可以做到這一點通過添加下一行user.properties文件(生活JMeter的「bin」文件夾)

    CookieManager.check.cookies =假

    JMeter的重啓將被要求挑選財產高達

    或者,您可以通過-J命令行參數傳遞屬性,如:

    jmeter -JCookieManager.check.cookies=false -n -t ... 
    

    在這種情況下,不需要重新啓動。

  3. 特別是在手動管理cookie的情況下,當以最有效的方式使用JMeter時,最好避免在可能的情況下編寫腳本。例如,你可以提取保存cookie你Set-Cookie response物管

    JMeter Set Cookie Headers

using Regular Expression Extractor需要。如果您需要進行腳本編寫,請確保您使用的語言性能最高(即Groovy