2017-06-21 40 views
0

我正在嘗試自動化Web應用程序的測試。
我已經記錄了測試使用JMeter代理模板(JMeter版本是3.2)和幾次,當我在JMeter中運行測試它正常運行,但在某些時候只有一些部分正常運行。使用JMeter註銷自動腳本

以下是我做的步驟:

  1. 擊中URL

  2. 登錄到應用

  3. 更改應用程序中的一些功能

和等等。

所有的步驟都是先運行幾次,但之後只有在登錄後才能正常運行。
只是爲了確保我嘗試從第一個請求傳遞jsessionid到使用常規「表達式提取器」的下一個請求。我可以在查看結果樹中看到jsessionid正確傳遞,但在第二步之後的下一頁仍然會將我帶入登錄屏幕。

任何幫助將非常感激。
我已附加截圖爲了更好的理解:

enter image description here

的登錄頁面的響應報頭包括被在登錄時由另一個請求的sessionid
所有的sessionID正確維護仍然記錄後在下一頁中將我帶到登錄頁面,而不是顯示錄製中接下來要做的事情。

回答

0

當談到加載的JSF-based web applications你需要採取以下動態參數至少護理測試:

  1. JSESSIONID
  2. javax.faces.Viewstate

JSESSIONID是正常HTTP cookie所以它是足以添加HTTP Cookie Manager來處理它

javax.faces.Viewstate是客戶端狀態管理機制,它也充當安全令牌來驗證用戶的來源。所以,你需要正確correlate它,即使用的JMeter PostProcessors一個,存儲先前響應提取到一個JMeter的變量,並作爲參數傳遞給下一個請求。請記住爲每一個請求都做這件事。

可能有一個以上專用動態參數,檢測他們正在錄製相同的請求(或方案)最簡單的方法的2倍,比較錄製的腳本,各地差異檢測工作。

+0

非常感謝您爲每個請求使用javax.faces.ViewState – Prasad