2014-02-25 73 views
1

我一直在與JMeter合作,爲我正在處理的一組Servlet進行一些集成測試。我現在已經有了幾個測試套件,它們可以運用不同的場景並對servlet發回的響應進行斷言。JMeter可以用來刪除數據庫中的記錄嗎?

現在我得到的問題是,測試沒有一個乾淨的數據庫工作時,他們一起運行,所以他們互相污染和失敗。

該文檔建議應使用JDBC PostProcessor在測試運行後清理數據庫,但是我看不到一種寫入將清除表的刪除語句的方法。

有沒有人試過這個?

+0

我敢打賭有一個預處理過 – Leo

+0

JMeter是不集成測試,它的性能測試。如果你想要集成測試,然後使用集成測試工具和測試框架。也就是說,前處理器和後處理器都有,但目前我沒有安裝它來檢查除了預處理和可調用之外哪些語句可用。 –

+0

您可以使用JDBCPreProcessor連接到數據庫並在查詢中調用「從......中刪除」。 到目前爲止,我只使用「Select ... from ...」,它工作正常,符合JDBCPreProcessor的用途,但我沒有看到「Delete from ...」不應該起作用的原因。 – pitseeker

回答

0

也許最好使用tearDown線程組。在那你可以使用任何你想要的採樣器。所以你可以使用JDBC Sampler來執行你的DELETE語句。

http://jmeter.apache.org/usermanual/component_reference.html#tearDown_Thread_Group

+0

這就是我一直在尋找的東西。 tearDown組在主線程組之後運行,所以它適合我的需要。 – Scottm

+0

我有幾個單獨的問題讓JDBC刪除語句正常工作,但這與我的JDBC配置元素有關。 如果對其他人有任何用處,您可以將查詢類型設置爲「更新語句」(仍然不完全確定這是幹什麼),然後在查詢中寫入「DELETE FROM .....」SQL本身。 現在我的測試在每個套件運行後清理乾淨,這太棒了! – Scottm

2

您必須選擇在JDBC請求調用語句作爲delete from Stocks where StockIdent=1

+0

通過添加重要鏈接並通過ctrl + K和其他鏈接 – Vikrant

+0

幫助您的建議來改進您的答案。 –

相關問題