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,會自動加入如下配置文件:
<groupId>webService</groupId>
<artifactId>webService</artifactId>
<version>1.0-SNAPSHOT</version>
2.在java目錄下新建一個java class, 定義為一個webService 接口,只有方法,沒有具體實現.
import javax.jws.WebMethod;
@javax.jws.WebService
public interface WebService {
@WebMethod
String sayHello(String name);
}
3.再同目錄下新建一個java class, 用來實現定義的webService接口, 並重載接口中定義方法.
@javax.jws.WebService
public class WebServiceImple implements WebService {
public String sayHello(String name){
System.out.println("請求成功了");
String a= name+"Hello world 你很厲害, 恭喜你!";
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添加相關的斷言.
今日推薦閱讀文章精選推薦
咨詢工作加微信
掃描二維碼
歡迎自薦和推薦, 需要的微信推送簡歷!
請猛戳下面二維碼了解更多