Web Service介面測試
- 2019 年 10 月 4 日
- 筆記
Web service 介面測試
一. web Service概念
Web service使用與平台和程式語言無關的方式進行通訊的一項技術, web service 是一個介面, 他描述了一組可以在網路上通過標準的XML消息傳遞訪問的操作,它基於xml語言協議來描述要執行的操作或者要與另外一個web 服務交換數據, 一組以web服務在面向服務體系結構中定義的web應用程式.
可以簡單的理解為web service是一個SOA(面向服務的編程)架構, 它不依賴於語言, 也不依賴於平台, 可以實現不同語言之間的通訊和相互調用.SOAP(簡單對象訪問協議) 是xml web service的通訊協議. 當用戶通過UDDI找到WSDL(Web Service Description Language)文檔後,通過SOAP調用建立的web service的一個或者多個操作.SOAP是xml文檔形式的調用方法規範, 可以支援不同的底層介面.
二. Web service 介面準備 如果有現成的webService請忽略這步
使用Eclipse或者Intellij等IDE工具,使用java語言實現一個簡單的web服務.
1.在Intellij中File->New->Project中選擇使用Maven來創建項目,輸入項目名稱即可創建項目,我們使用WebService來命名項目,項目創建完成後在其目錄中會有一個文件pom.xml,會自動加入如下配置文件:

2.在java目錄下新建一個java class, 定義為一個webService 介面,只有方法,沒有具體實現.

import javax.jws.WebMethod; @javax.jws.WebService public interface WebService { @WebMethod String sayHello(String name); } 3.再同目錄下新建一個java class, 用來實現定義的webService介面, 並重載介面中定義方法.

import javax.jws.WebService; import java.lang.annotation.Annotation; @javax.jws.WebService public class WebServiceImple implements WebService { public String sayHello(String name){ System.out.println("請求成功了"); //請求成功的時候控制台輸出 String a= name +"Hello world 你很厲害, 恭喜你!"; //Response 返回給request return a; } } 4.再新建一個java class, 用來啟動發布我們的webService應用

import javax.xml.ws.Endpoint; public class WebServicePublish { public static void main(String[] args) { String address="http://localhost:8989/WS_Server/Webservice"; //定義服務訪問路徑 Endpoint.publish(address,new WebServiceImple()); System.out.println("服務端發布成功了!"); //發布後控制台輸出資訊 } } 5. 發布應用
右鍵選擇執行即可發布應用程式.
如果正常即可在控制台上看到下列資訊:

/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/java -Dfile.encoding=UTF-8 服務端發布成功了!
恭喜你發布成功了,接下來用瀏覽器直接訪問
http://localhost:8989/WS_Server/Webservice?wsdl
看到一堆xml說明webService可以正常訪問了.
三. Web service 介面測試
webService支援相對有好的工具SoapUI, 它是針對soap協議而生, 我們打開SoapUI應用.
在SoapUI 的工具欄中我們選擇soap->Create a New Soap Project, 在彈框中我們輸入Project name 和WSDL Link

Project Name:推薦名字根據項目名稱取
Initial WSDL:被測的wsdl link
Create Requests: 默認選中
Create TestSuite: 測試套件可以這裡勾選創建,也可以後續自行創建.
點擊OK 即可.

SoapUI根據link自動導入所有介面資訊可以看到SayHello使我們在Intellij中實現的介面方法.
我們在SoapUI的請求中, 在參數里輸入相關資訊,驗證介面

查驗介面request和Response
同時查看Intellij IDE是否有報錯資訊, 控制台顯示請求成功

從Response中可以判斷我們的返回和IDE中定義的是相符的.
四. 增加TestSuite
增加TestSuite和TestCase的意義在於soap 介面測試為後續自動化測試提供基礎腳本和回歸驗證.
在webServiceTest右鍵New TestSuite

新建一個TestCase, 在Suite 右鍵New TestCase

最後一步將介面添加到TestCase, 右鍵介面SayHello選擇Add to TestCase, 然後選擇要添加Suite和TestCase,即可將介面添加進入Step中

這樣SayHello 介面就被添加到testCase中了,還是非常方便的, 這時候可以給介面SayHello添加相關的斷言.

Story:
馬蠅效應認為沒有馬蠅叮咬,馬就會慢慢騰騰,走走停停;如果有馬蠅叮咬,馬就不敢怠慢,跑得飛快。也就是說,人是需要一根鞭子的,只有被不停地抽打,才不會鬆懈,才會努力拚搏,不斷進步。這根鞭子是壓力,是挫折和困難,是危機意識。這一解釋不僅適用於個人,同樣也適用於企業.