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:

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

Tags: