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