SoapUI是一款流行的開源API測試工具,它可以幫助用戶創(chuàng)建、執(zhí)行和監(jiān)視Web服務(wù)。SoapUI使用WSDL文件(Web服務(wù)描述語言)來測試Web服務(wù),它可以輕松地與多種協(xié)議(如SOAP、REST、HTTP等)進行交互。SoapUI的主要特點是支持數(shù)十種不同的測試樣式(如性能、功能和安全性測試等);向?qū)浇缑娣奖阌脩魟?chuàng)建和執(zhí)行測試用例; 支持多種應(yīng)用程序協(xié)議; 關(guān)注于重復(fù)使用代碼; 內(nèi)部文檔生成能力; 無需學(xué)習(xí)新的代碼就可以使用。此外,Soapui還提供了命令行工具,可讓用戶輕松運行各種任務(wù)調(diào)度程序,或作為用戶的構(gòu)建過程中的一個組成部分MockServices集。有用到這款工具的朋友快通過下面地址來獲取吧!
SoapUI破解教程
1、安裝的方法很簡單,雙擊“SoapUI-x64-5.1.3.exe”開始正式的安裝(不過注意該程序僅支持64位操作),之后的安裝方法很簡單直接默認點擊下一步即可
1、解壓后復(fù)制Protection-4.6.jar到soapui安裝的lib目錄下面,替換原來的文件
2、直接打開bin\soapui-pro.bat批處理文件,然后再導(dǎo)入scz.key文件
SoapUI命令行
直接執(zhí)行testrunner.sh將給出幫助手冊:
soapUI Pro 4.5.2 TestCase Runner
usage: testrunner [options]
-F Report format. Used with -R. Valid options PDF, XLS, HTML, RTF,
CSV, TXT, and XML (comma-separated)
-v Sets password for soapui-settings.xml file
-t Sets the soapui-settings.xml file to use
-A Turns on exporting of all results using folders instead of long
filenames
-D Sets system property with name=value
-E Sets the environment
-G Sets global property with name=value
-g Sets the output to include Coverage HTML reports
-h Sets the host
-i Enables Swing UI for scripts
-j Sets the output to include JUnit XML reports
-m Sets the maximum number of TestStep errors to save for each
testcase
-I Do not stop if error occurs, ignore them
-M Creates a Test Run Log Report in XML format
-P Sets or overrides project property with name=value
-R Report to Generate
-S Saves the project after running the tests
-a Turns on exporting of all results
-c Sets the testcase
-d Sets the domain
-e Sets the endpoint
-f Sets the output folder to export results to
-o Opens generated report(s) in a browser
-p Sets the password
-r Prints a small summary report
-s Sets the testsuite
-u Sets the username
-w Sets the WSS password type, either "Text" or "Digest"
-x Sets project password for decryption if project is encrypted
命令行格式:testrunner [選項] soapui工程的xml文件
主要命令選項說明:
-D 設(shè)置system property,即可以設(shè)置SoapUI——Help——System properties菜單下的屬性值
例如命令行指定-Dfile.encoding=UTF-8
-I 設(shè)置為用例執(zhí)行中出現(xiàn)錯誤時不停止,繼續(xù)執(zhí)行
-a 默認SoapUI只會在用例執(zhí)行時有錯時(如斷言有錯),才會生成.txt的包含請求、響應(yīng)的詳細日志信息,便于查看當(dāng)時請求出 錯的詳細情況,若加上-a選項,則不論出錯與否都將生成該報告文件。
-f 設(shè)置報告輸出的路徑,不指定則默認為輸出到當(dāng)前目錄下
-j 生成JUnit格式的XML報告文件
-r 打印簡略的總結(jié)報告
-s 指定要執(zhí)行的用例集名稱
因此命令行執(zhí)行SoapUI用例可以如下:
sh testrunner.sh -Dfile.encoding=UTF-8 -I -s $testsuit -r -j -f $REPORTS_PATH $TESTSUIT_PATH/soapui_example.xml
執(zhí)行完成后將生成JUnit格式的xml報告文件,可在Jenkins中生成測試報告及接口響應(yīng)性能趨勢圖等
出錯時生成的.txt格式的包含詳細請求參數(shù)及響應(yīng)數(shù)據(jù)的日志報告文件可以郵件附件形式發(fā)送,進行及時反饋及出錯時問題定位
輸入?yún)?shù)為字符串如何輸入?
參考以下:
354561031959904
]]>
發(fā)送json
左邊選json
SoapUI填充數(shù)據(jù)
例如如下數(shù)據(jù),calendar_id是需要根據(jù)返回值動態(tài)獲取的,此時需要通過獲得數(shù)組中的calendar_id
{"calendar":
[
{"calendar_id":"1705","showtime":"1288927800","endshowtime":"1288931400","allDay":false},
{"calendar_id":"1706","showtime":"1288933200","endshowtime":"1288936800","allDay":false},
{"calendar_id":"1709","showtime":"1288935600","endshowtime":"1288938900","allDay":false}
]
}
在SoapUI中可以通過groovy腳本實現(xiàn)提取json數(shù)組數(shù)據(jù),提取到數(shù)據(jù)后就可以遍歷訪問列表中的每條新聞?wù)牧?br />
1.新建一個REST請求步驟,獲取接口返回的數(shù)據(jù)
2.新建一個DataSource步驟,選擇Groovy方式
3.添加一個名為cal_id的Properties
4.groovy編輯框中輸入實現(xiàn)代碼
[java] view plain copy
import groovy.json.JsonSlurper
def xresponse = testRunner.testCase.testSteps["getCalendarListByCoid"].testRequest.response.contentAsString
def slurper = new JsonSlurper()
def re = slurper.parseText(xresponse)
def num=re.calendar.size()
def i = testRunner.testCase.testSteps["DataSource"].currentRow
if(i{
result["cal_id"]=String.valueOf(re.calendar_id.id[i])
}
5.新建一個Property Transfer步驟,將DataSource的cal_id傳遞給當(dāng)前testCase的變量
6.新建 一個REST請求步驟,將得到的cal_id去請求另一個接口
7.新建一個DataSource Loop步驟,使DataSource與Property Transfer步驟循環(huán),這樣就可以遍歷數(shù)組中的每個數(shù)據(jù)了
[reply]tz0705010216[/reply]
你好
以博文中的json為例,新增的groovy步驟則如下:
def xresponse = testRunner.testCase.testSteps["getCalendarListByCoid"].testRequest.response.contentAsString
def slurper = new JsonSlurper()
def re = slurper.parseText(xresponse)
def id = re.calendar.calendar_id[i] //i為json數(shù)組中的第i個子json對象
若為在腳本斷言處添加groovy斷言,則如下:
def xresponse = messageExchange.modelItem.testCase.testSteps["getCalendarListByCoid"].testRequest.response.contentAsString
def slurper = new JsonSlurper()
def result = slurper.parseText(xresponse)
def id = re.calendar.calendar_id[i] //i為json數(shù)組中的第i個子json對象
SoapUI優(yōu)勢
1、SoapUI的設(shè)計成技術(shù)以及非技術(shù)性用戶帶來了簡單化和優(yōu)化的測試感受
2、這類便于所使用的用戶界面優(yōu)化了對根據(jù)SOAP和REST的WebService的測試
3、創(chuàng)建一個負載測試,您只需鼠標(biāo)右鍵點一下一個作用測試,并且以負載測試運作
4、或使用拖拽創(chuàng)建一切簡易或繁雜測試情景
5、針對經(jīng)驗豐富的客戶,SoapUIPro提供屬性傳送指導(dǎo),會自動傳送選中視頻的屬性,促使繁雜的測試測試用例或信息流廣告的創(chuàng)建更加輕松
6、針對較大控制和協(xié)調(diào)能力,SoapUIPro還提供了即使用的現(xiàn)成高端腳本制作,可以支持基本上一丁點的測試
7、不論你是一個測試工作人員,開發(fā)者,業(yè)務(wù)分析師或主管,SoapUI為每一個角色提供了不一樣的功效
SoapUI功能
1、MockServices根據(jù)SoapUI提供與眾不同的能力,可以效仿WebServices,并創(chuàng)建/運作對她們的功能和負載測試,即便在系統(tǒng)部署前,這種也可以進行
2、能夠減少搭建詳細商品環(huán)境中的團本所需要的耗費,及其提供你的顧客瀏覽能力,而不需要為其等候被進行
3、在SoapUI,客戶無需花很多勤奮就能創(chuàng)建符合規(guī)定Mocks-僅需選擇一個自己想要的WSDL,SoapUI可以一鍵生成MockService和它方式
4、可自定一切客戶自己喜歡的回應(yīng)方法
5、高端腳本制作作用來模擬一切自己想要的個人行為-固定不動回應(yīng),任意不正確,動態(tài)性結(jié)論等
6、SoapUI提供了所有所需要的工具來測試和優(yōu)化的測試
7、一覽標(biāo)識給你一個工程項目的全部內(nèi)容全面的觀點,僅需一次點一下,大家可以添加任何數(shù)量肯定為認證傳到消息TestStep
8、可以使用功能強大HTTP監(jiān)控器紀錄,剖析乃至改動遠程服務(wù)器-網(wǎng)絡(luò)服務(wù)器通訊
9、能方便的創(chuàng)建和運行數(shù)字驅(qū)動測試
以上便是kkx小編給大家分享介紹的API測試工具-SoapUI破解版!