我在測試計劃中包含了一個簡單的HTTP請求採樣器。然後,通過「查看結果樹」查看結果並將相同的結果寫入文件。我希望這個文件通過郵件取樣器發送。
問題是,一旦我執行測試用例,它就會首先發送郵件,然後將新的測試結果附加到文件中。所以,在郵件中,我得到了以前的運行結果,而不是新的結果。通過Jmeter發送測試結果郵件
我該如何加入?
我在測試計劃中包含了一個簡單的HTTP請求採樣器。然後,通過「查看結果樹」查看結果並將相同的結果寫入文件。我希望這個文件通過郵件取樣器發送。
問題是,一旦我執行測試用例,它就會首先發送郵件,然後將新的測試結果附加到文件中。所以,在郵件中,我得到了以前的運行結果,而不是新的結果。通過Jmeter發送測試結果郵件
我該如何加入?
我會建議發送您的電子郵件在tearDown Thread Group這是專爲後處理的目的,似乎正是你在找什麼。
此外,請確保您通過Test Action採樣器等待合理的時間,因爲JMeter不會即時更新結果文件,它會定期刷新大塊結果。
如果您不想要「舊」數據,您可以使用setUp Thread Group與OS Process Sampler刪除舊結果文件或將其移動到其他位置。
更多JMeter的電子郵件提示和技巧,看到Load Testing Your Email Server: How to Send and Receive E-mails with JMeter
我觀察到的JMeter首先發送電子郵件使用的SMTP樣做,當空的,或者原有的運行報告。 要overvome吧,這是我的嘗試:
調用JMeter的-t -n「腳本路徑」 -l「 JTL報告路徑」
sendEmail -f -t SENDER_EMAIL RECEIVER_EMAIL -cc CC_Email -s MAIL_SERVER -u 「主題」 -m 「電子郵件正文」 -a 「JTL報告附件的路徑」
它在做什麼,它執行JMeter的腳本,在第一步指定的路徑中生成報告,然後使用步驟2發送包含報告的電子郵件。
這可能有所幫助。
如果使用「查看結果樹」或「總結報告」聽衆,你將無法通過SMTP採樣派現報告,通過郵件,即使您使用拆卸線程組。
原因:只有在測試完成後,JMeter纔會將數據寫入這些報告文件。
您可以在運行SMTP採樣器之前添加tearDown線程組並添加延遲來驗證此情況。注意文件的大小,一旦測試開始就創建它,但是當最後一個線程(本例中爲SMTP採樣器)完成執行時寫入數據。
因此,只有一個空的文件會附加到您的電子郵件。
解決方案 - 1.使用批處理腳本,並使用一些其他的工具JMeter測試後,由阿希什的建議發送郵件。
這種方法的問題在於,存在對另一個實用程序的依賴性。另外,我們需要爲不同的平臺編寫不同的腳本(Windows/Linux)。
在這種情況下,我們需要的是一個'靈活的文件編寫器'插件。它爲您提供了強大的自定義功能,可以配置要寫入報告文件的數據,還可以包含完整的報告文件以通過SMTP採樣器發送。
我能夠使用Flexible File Writer Listener和tearDown Thread Group實現此目的。這裏是我的測試計劃的結構 -
測試計劃
---主題 集團
-------採樣
------- JP @ GC-靈活Filw作家
---拆解線程組
------ SMTP採樣
您可能需要在從tearDown線程組發送郵件之前添加一些延遲。
可以,或者從JMeter的插件網站下載靈活的文件寫入使用內置的JMeter的插件管理器插件 - [email protected] Flexible File Writer Plugin
嗨, 我使用「查看結果文件」控制器寫入結果到CSV文件, 'tearDown Thread Group'包含'測試操作'和'SMTP採樣器'中的'暫停'以發送結果文件。 出於某種原因 - 我只收到郵件中的上一個結果,而不是當前的結果。有任何想法嗎? – user2880391