測試優(yōu)化工具SoapUI Pro最佳實踐:優(yōu)化內(nèi)存使用
SoapUI Pro擁有許多其他web服務(wù)測試工具所不具備的高級技術(shù)和功能。對于REST、SOAP以及其他流行的API和物聯(lián)網(wǎng)協(xié)議,SoapUI Pro提供了業(yè)界最全面的功能測試功能。通過易用的圖形界面和企業(yè)級功能,SoapUI Pro允許你快速創(chuàng)建和執(zhí)行自動功能測試。在單一環(huán)境下,SoapUI Pro提供了完整的測試覆蓋,支持所有的標(biāo)準(zhǔn)協(xié)議和技術(shù)。
ReadyAPI是API測試工具的集成套件,其中包括:SoapUI Pro (功能測試)、LoadUI Pro (性能測試)、ServiceV Pro (服務(wù)虛擬化)等產(chǎn)品。
ReadyAPI可能會占用大量內(nèi)存。它取決于其設(shè)置和使用方式。如果運行大型功能測試或負(fù)載測試,則可能會遇到內(nèi)存不足的情況。本文說明如何避免內(nèi)存問題。
注意:從2.2版開始,ReadyAPI包含一個內(nèi)置的系統(tǒng)性能監(jiān)視器。
本文主要從這三個方面描述:
- 測試用例內(nèi)存使用情況
- 調(diào)整內(nèi)存設(shè)置
- 禁用測試記錄
如果您的內(nèi)存不足,很可能會運行大型測試用例,以發(fā)送數(shù)千個請求。默認(rèn)情況下,ReadyAPI自動保存請求和響應(yīng),因此您可以雙擊它們以查看測試案例日志中的相應(yīng)條目。當(dāng)然,無論您分配了多少內(nèi)存,隨著時間的推移,都會填滿內(nèi)存。幸運的是,有一些方法可以丟棄不需要的舊結(jié)果。
修改測試用例選項
可以從測試用例工具欄訪問測試用例選項:
TestCase選項對話框中有兩個設(shè)置會影響內(nèi)存使用:
- 丟棄成功的結(jié)果——選擇此選項可丟棄任何成功的測試步驟結(jié)果的內(nèi)容。在這種情況下,您將無法通過雙擊測試用例日志中的相應(yīng)結(jié)果來查看它。
- 最大結(jié)果數(shù)——指定ReadyAPI在內(nèi)存中保留多少測試步驟結(jié)果,無論其狀態(tài)如何。如果指定0,ReadyAPI將所有測試步驟的結(jié)果保存在內(nèi)存中,直到測試運行結(jié)束。
注意:如果指定0為“最大結(jié)果”值,則虛擬用戶模擬結(jié)束時,負(fù)載測試將丟棄結(jié)果。為了將測試結(jié)果保存在內(nèi)存中,請指定一個非常高的值。
如果ReadyAPI在日志中可見,則將丟棄的測試步驟結(jié)果保存在內(nèi)存中。請參閱下面的內(nèi)容,了解如何修改日志選項,以使測試用例日志不會保留結(jié)果。
修改測試案例日志選項
如果將測試結(jié)果顯示在測試日志中,則ReadyAPI會將測試結(jié)果保留在內(nèi)存中。您可以使用測試用例日志選項來自定義日志中可見的結(jié)果。
注意:如果從命令行運行測試,則沒有日志,因此無需修改測試案例日志選項。
單擊 > 結(jié)果日志選項:
這將打開“日志選項”對話框。
這些選項控制日志中可見的內(nèi)容。從日志中刪除結(jié)果并不一定意味著它們已從內(nèi)存中刪除。請參閱上文以了解如何防止ReadyAPI將測試結(jié)果保存在內(nèi)存中。
調(diào)整內(nèi)存設(shè)置
如果測試消耗大量內(nèi)存,則很可能應(yīng)該對其進(jìn)行優(yōu)化。但是,如果您的測試包含大量請求、附件等,則必須增加ReadyAPI可以分配的最大內(nèi)存大小。
要指定該值,您應(yīng)該修改ReadyAPI傳遞給Java虛擬機(jī)的-Xmx參數(shù)。根據(jù)您的操作系統(tǒng),其他正在運行的應(yīng)用程序等的設(shè)置選擇一個值。我們建議您分配大約一半的可用內(nèi)存。例如,如果您的計算機(jī)上有16 Gb RAM,請指定8192 MB。默認(rèn)情況下,ReadyAPI使用4 Gb RAM。
注意:如果您使用的是32位操作系統(tǒng),則不能分配超過1.5 Gb。
根據(jù)運行ReadyAPI的方式,通過編輯.vmoptions文件或.bat \ .sh文件來修改設(shè)置。
更改永久代池的大小
如果發(fā)生PermGen錯誤(例如,當(dāng)您使用大量的Groovy腳本時),則可能需要增加Permanent Generation池的大小。為此,請將-XX:MaxPermSize參數(shù)傳遞給Java虛擬機(jī)。
根據(jù)您運行ReadyAPI的方式,通過編輯一個.vmoptions或多個.bat\.sh文件來修改設(shè)置。
禁用測試記錄
如果已經(jīng)設(shè)置了測試并且不再需要測試歷史記錄,則可以禁用它以釋放一些內(nèi)存。
打開“測試歷史記錄首選項”對話框,然后選擇“禁用測試歷史記錄”選項。完成此操作后,您將必須重新啟動ReadyAPI。
本文內(nèi)容就是這樣了,SoapUI Pro最佳實踐教程還在繼續(xù)更新中,歡迎大家繼續(xù)關(guān)注我們了解后續(xù)內(nèi)容~您可以下載SoapUI Pro試用版免費評估~