web自動化測試-HTTP層面的Web Service自動化測試(1)
前言我們之前在測試web service的時候嘗試過多種方法:比如使用SoapUI;使用本地代理類編程等。前者不太方便做自動化,后者是從SOAP協(xié)議層面進行測試,數(shù)據(jù)組織不太方便,測試程序相對復雜,并且擴展性不好。SOAP協(xié)議大多使用HTTP綁定,我們發(fā)現(xiàn)使用HTTP直接向web service server發(fā)送數(shù)據(jù)包可以做到接口無關,不同的接口對于HTTP請求來說只是包的內(nèi)容和目標url不同。這樣可以將修改測試程序的工作轉(zhuǎn)變?yōu)闃嬙鞌?shù)據(jù)的工作,一方面在數(shù)據(jù)量較小的情況下可以減小測試準備和執(zhí)行時間,另一方面方便測試集成到持續(xù)集成環(huán)境中。SOAP層面的Web Service自動化測試背景介紹Web Service 是一種新的web應用程序分支,他們是自包含、自描述、模塊化的應用,可以發(fā)布、定位、通過web調(diào)用。Web Service通過WSDL(Web Services Description Language)文件發(fā)布。SOAP是簡單對象訪問協(xié)議,定義了一種跨平臺的分布式系統(tǒng)通信協(xié)議。SOAP需要綁定到更低層次的傳輸協(xié)議(比如HTTP、RMI、JMS)等。最常用的是HTTP綁定。大多數(shù)的Web Service實現(xiàn)是借助SOAP協(xié)議,因而通常的Web Service測試方法都是在SOAP協(xié)議層面進行測試。在SOAP層面上,每一個請求的數(shù)據(jù)包格式都是固定的,不同的接口使用不同格式的數(shù)據(jù)包,因而測試的時候需要針對不同的接口有不同的數(shù)據(jù)準備和測試執(zhí)行的方法?,F(xiàn)有的SOAP層面的Web Service自動化測試方法通常是使用工具生成本地代理類,通過編程調(diào)用本地代理類實現(xiàn)自動化。這種測試方法數(shù)據(jù)構造簡單,但是測試程序稍復雜,擴展性不強。數(shù)據(jù)組織SOAP層面的自動化測試的數(shù)據(jù)組織就是準備本地類的參數(shù)和返回值。1. 輸入數(shù)據(jù)為了更清楚的了解輸入數(shù)據(jù),這里給出了SoapUI的兩張圖:圖1 接口一輸入圖2 接口二輸入這兩幅圖顯示了SOAP層面的輸入數(shù)據(jù)。AuthHeader是SOAP包的header,是所有接口共有的數(shù)據(jù)結(jié)構;getAccountInfoRequest和getChangedIdRequest是SOAP包的body,各自有不同的字段,type和startTime是真正需要針對每個接口準備的數(shù)據(jù)。2. 期望輸出同樣這里給出了兩張SOAP的圖:圖3 接口一輸出
頁:
[1]