http://www.cnblogs.com/wade-xu/p/4236295.html
關(guān)鍵詞:SoapUI接口測(cè)試,接口自動(dòng)化測(cè)試,數(shù)據(jù)驅(qū)動(dòng)測(cè)試,SoapUI進(jìn)階使用, Groovy in SoapUI, SoapUI中Groovy的使用,數(shù)據(jù)分離。
閱讀這篇文章需要一定的SoapUI基礎(chǔ),至少入過門,另外還需要一些Groovy的知識(shí),當(dāng)然如果你會(huì)java 也可以,這里用到的Groovy知識(shí)和Java很類似。
另外,本文的思路和我上一篇文章<零成本實(shí)現(xiàn)接口自動(dòng)化測(cè)試 – Java+TestNG 測(cè)試Restful service>很相似,只不過把Java+TestNG的組合換成了SoapUI+Groovy, 另外測(cè)試對(duì)象也換成了基于Soap的web service, 依舊用Excel來管理數(shù)據(jù),做到數(shù)據(jù)分離。
由于我用到的SoapUI是免費(fèi)版本,相比Pro版,少很多的功能,像DataLoop之類的,所以只能通過Groovy寫一些腳本來做數(shù)據(jù)驅(qū)動(dòng)的測(cè)試。
首先打開SoapUI, 新建一個(gè)Workspace 名為Demo
然后點(diǎn)擊File->New soapUI Project
然后輸入你的Project Name, WSDL 地址 點(diǎn)擊OK
輸入服務(wù)的用戶名密碼 點(diǎn)擊OK
項(xiàng)目工程建好了
右擊ServicePort 建立TestSuite
以其中一個(gè)接口為例 來生成用例
輸入TestSuite name 然后確認(rèn)
工程結(jié)構(gòu)如下
通過右擊TestCase -> Add Step 增加 Groovy Script 和 Properties
增加四個(gè)Groovy Script, 并且命名成 Start, Process, Check Response, End
增加5個(gè) Properties, 并且命名成Input, Baseline, Output, Result, fieldResult
調(diào)整它們的順序,最后形成下圖的工程目錄結(jié)構(gòu)
Start腳本主要?jiǎng)?chuàng)建log文件
Process腳本是整個(gè)工程的核心,讀取Excel數(shù)據(jù)文件的Input, Baseline 放入二維數(shù)組,然后循環(huán)讀入Input和Baseline這兩個(gè)Properties, 調(diào)用request, 取到Ouput和Result Properties的值放入Output, Result數(shù)組,最后更新Excel的Output, Result, Comparison sheet。
Check Response 顧名思義,用來檢查返回結(jié)果, 通過XmlHolder getNodeValue 來取response各節(jié)點(diǎn)的值,并且填入Output Properties已作對(duì)比之用。
End腳本 在log上打時(shí)間戳
配置
雙擊DemoProject, 點(diǎn)擊下方的Properties tab
然后 Add property
Add 如下圖所示的5個(gè)Property
雙擊項(xiàng)目工程列表里的'Demo TestCase'
點(diǎn)擊Properties tab
Add Property 如圖
Value 填Excel 的路徑
Excel數(shù)據(jù)工作簿里的Input sheet 如圖
接下來需要把Input里的column name 與 Soap request里的input 字段映射起來
雙擊Test Steps 里的request
將xml文件里的?用參數(shù)來代替
左下角的TestRequest Properties 要填上用戶名 密碼
Baseline sheet里要把輸出結(jié)果的字段名都定義好, 因?yàn)槭歉鶕?jù)字段名去response里取結(jié)果的
每條用例期望結(jié)果都寫好,用作和實(shí)際結(jié)果對(duì)比
另外Check Response里的腳本需要設(shè)置一下
假設(shè)你的response xml文件結(jié)構(gòu)如下
如果你需要檢查Soap body標(biāo)簽下的內(nèi)容, 則你需要配置一下Check Response的腳本
將xml namespace的路徑配置一下
右擊Project Save一下Project
最后可以運(yùn)行了 雙擊Demo TestSuite 點(diǎn)擊Run
注意:Groovy腳本也是用第三方的jxl.jar操作excel文件的,所以這個(gè)jar需要放到SoapUI安裝目錄的\lib下面,才能運(yùn)行成功。
打開Workbook 數(shù)據(jù)工作簿查看結(jié)果
Output
Result
Comparison
是不是跟我上一篇文章異曲同工?
注:轉(zhuǎn)載需注明出處及作者名,嚴(yán)禁惡意轉(zhuǎn)載,尊重原作者的勞動(dòng)成果。
聯(lián)系客服