我正在JMeter 3.3上工作。我將有n個用戶,登錄應該只進行一次,但其他頁面將被執行多次。我發現該解決方案使用2個不同的線程組,但它不起作用,因爲我的登錄信息中包含Cookie。在線程組之間共享cookie
我在類似的用例中看到:Sharing cookie values between thread groups in JMeter,但沒有任何解決方案奏效。如何做到這一點?
我正在JMeter 3.3上工作。我將有n個用戶,登錄應該只進行一次,但其他頁面將被執行多次。我發現該解決方案使用2個不同的線程組,但它不起作用,因爲我的登錄信息中包含Cookie。在線程組之間共享cookie
我在類似的用例中看到:Sharing cookie values between thread groups in JMeter,但沒有任何解決方案奏效。如何做到這一點?
可以設置線程組是一個答案? (http://jmeter.apache.org/usermanual/component_reference.html#setUp_Thread_Group) - 我的意思是登錄(並將cookie提取到一個變量)將在setUp組中完成,然後在'正常'線程組中執行其他測試 - 它將使用您的cookie讀取全局可用變量。
如果您每次迭代只需登錄一次用戶,則使用Once only controller。 要共享的線程組之間的cookies,您可以使用Inter-thread communication plugin
一般來說,如果你想進行登錄一次就可以使用If Controller與${__groovy(vars.getIteration() == 1,)}
的條件,其中:
vars
- 是JMeterVariables類實例的簡寫,它提供對JMeter變量的讀/寫訪問。 vars.getIteration()
方法返回當前Thread Group迭代,因此放置在If控制器下的採樣器僅對每個虛擬用戶執行一次。我從https://stackoverflow.com/a/43379806/8305811但在測試計劃水平接通CookieManager.save.cookies爲true,並設置cookie管理器得到了解決。
可能重複[Jmeter - 如何在線程之間共享cookie?](https://stackoverflow.com/questions/35745431/jmeter-how-to-share-cookies-between-threads) – user7294900