在 《教你用soapUI測試web服務(一)》 中我們介紹了如何創建第一個soapUI項目,下面我們來介紹如何編寫和執行測試用例。
編寫并執行測試用例
瀏覽和交互當然好,但是我在想你可能想要運行一些測試。要想做到這一點,你將需要創建一個TestSuite。可通過右鍵點擊項目然后選擇New TestSuite,如圖5所示。
圖 5:在soapUI中創建一個新的TestSuite。
第五步:在soapUI中創建一個新的TestSuite。
這一步應該會打開一個New TestSuite對話框,如圖6所示。然后輸入你的測試包的名字。記住,對于大多數項目來說都是需要多個測試包的,因此起描述性的名字是幫助的。一旦完成,點擊OK。
第六步:在soapUI中給TestSuite命名。
這會把你的TestSuite添加進左手邊導航欄的項目樹結構中去。它還會在主soapUI工作區打開你的TestSuite。
圖6:在soapUI中給TestSuite命名。
在soapUI中TestSuite是由TestCase組成的。就我們的例子而言,我們將會建立一個簡單的測試包,讓我們登錄到JIRA上面去,然后 再退出。這是一個好例子,有幾個理由。首先,它會向你展示如何在TestCase之間傳遞值,這是重要的,因為大部分我測試過的web服務都要這么做。其 次,我們可以有機會在對JIRA了解不多的情況下看看一些基本的功能—像斷言(assertion)。像登入和登出這些功能基本上屬于不言自明的。
要想添加我們的第一個TestCase,只需點擊“Create a new TestCase in this test suite”按鈕。你將會在TestSuite窗口發現它,如下圖7所示。
圖7:在TestSuite 窗口創建一個TestCase按鈕。
第七步:在TestSuite 窗口創建一個TestCase按鈕。
這一步會打開New TestCase對話框,然后你要在上面命名待創建的測試用例。看起來跟New TestSuite對話框是一樣的。輸入名字再點擊OK。由于這一測試用例將會測試登錄,我把這個TestCse命名為“Login”。
當你點擊OK的時候,有兩件事情會發生。首先,你的TestCase會出現在TestSuite窗口,帶有一個空白結果條,如下圖8所示。這一結果條是白色的,因為你還沒有運行測試。一旦運行了,如果運行失敗該條會變成紅色,否則變成綠色。
圖8: 你的TestCase被添加進你的TestSuite。
第八步:你的TestCase被添加進你的TestSuite。
其次,你也將會看到一個窗口為你剛才所創建的TestCase打開。在圖9中,你將會看到我創建的Login TestCase的窗口。
圖 9: Login 測試用例的TestCase窗口。
第九步:Login 測試用例的TestCase窗口。
第三,如圖10所示,在左手邊的導航欄項目樹中你將會看到新的TestCase列在你的TestSuite下面了。你還會看到TestCase相關的測試步驟數或加載測試的次數。
第十步:TestCase添加到項目導航樹。
TestSuite是由TestCase組成的,與此十分類似的是,TestCase是由TestStep構成的。為了讓我們的Login測試生效,我們需要添加TestStep。
圖10:創建一個新的Test Request TestStep按鈕。
圖11:TestCase添加到項目導航樹。
首先,我們要把login請求添加到JIRA web服務中去。點擊TestCase 窗口中的“Create a new Test Request TestStep”按鈕。該按鈕如圖11所示。
第十一步:創建一個新的Test Request TestStep按鈕。
在Add Step對話框中,輸入一個TestStep的名字然后點擊OK。這會打開New TestRequest對話框,如圖12所示。鄉下滾動列表然后選擇login請求。再點擊OK。
圖12:New TestRequest對話框。
第十二步:New TestRequest對話框。
這一步打開了Add Request to TestCase對話框,如圖13所示。如果喜歡的話你還可以改變請求的名稱,還可以選擇一系列的備選斷言。缺省情況下,SOAP Response Assertion會被預選上。就現在而言,這就可以了。只需點擊OK。
圖13: Add Request to TestCase對話框。
第十三步:Add Request to TestCase對話框。
當你點擊OK的時候,請求就會被添加到TestCase中去了,而剛才你所添加的請求的請求窗口就會打開。正如本文前面所述,你可以編輯值并手工運行這 些測試。不過這一次無論你輸入什么值都將會成為該測試用例保存的值。本例中,我會使用我的用戶名和密碼,如下表3所示。
表3:帶用戶名和密碼的Login請求。
以下是引用片段:
<soapenv:Envelope?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?xmlns:xsd="http://www.w3.org/2001/XMLSchema"?xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"?xmlns:soap="http://soap.rpc.jira.atlassian.com"> ???<soapenv:Header/> ???<soapenv:Body> ??????<soap:login?soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> ?????????<in0?xsi:type="xsd:string">mike.kelly</in0> ?????????<in1?xsi:type="xsd:string">password</in1> ??????</soap:login> ???</soapenv:Body> </soapenv:Envelope> |
如果人工運行該請求,所得的響應如下表4所示。
表4:Login響應。
以下是引用片段:
<soapenv:Envelope?xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"?xmlns:xsd="http://www.w3.org/2001/XMLSchema"?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> ???<soapenv:Body> ??????<ns1:loginResponse?soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"?xmlns:ns1="http://soap.rpc.jira.atlassian.com"> ?????????<loginReturn?xsi:type="xsd:string">26lRGT7uX5</loginReturn> ??????</ns1:loginResponse> ???</soapenv:Body> </soapenv:Envelope> |
你會看到會話返回的結果是10個字符的字符串。你也許還注意到只要有TestStep圖表出現的地方它的顏色都會從白色變為綠色。這是一個很好的可視化提示,告訴你該TestStep相應的斷言通過了。
目前,我們的TestStep唯一的斷言是在創建TestStep的時候設置的。那個斷言所做的事情就是確認我們的回應是一個合法的SOAP回應。盡管這很重要,但還不夠。因此我們準備要添加另一個斷言,用來確認我們得到的返回是一個10個字母的字符串。
在請求窗口的底部,你會看到一個Assertions按鈕。如果你點擊它,它就會顯示出當前相對應于TestStep的斷言有哪些。如果你想跟我們一樣添加另一個斷言,那么就請點擊Add Assertion按鈕,如圖14所示。
圖14: 為TestStep添加斷言的按鈕。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
