REST Assured 是一個輕量化接口測試框架,它支持發起POST,GET,PUT,DELETE,OPTIONS,PATCH和HEAD請求,並且可以用來驗證和校對這些請求的響應信息。
1.配置Java環境,新建maven工程,導入jar包
2.導入RestAssured(靜態導入方法,以提高使用rest-assured的效率)
import io.restassured.RestAssured.*; import io.restassured.matcher.RestAssuredMatchers.*; import org.hamcrest.Matchers.*;
3.開始編寫腳本,下邊是一個有參數的post請求
實列一,驗證以下接口返回的數據是否包含某個值
返回數據:
使用mococo模擬,進入到路徑執行以下命令、
執行成功:
驗證返回參數 int類型
equalTo()方法和 hasItems()方法是屬於 Hamcrest matchers 的方法,所有我們需要靜態導入 org.hamcrest.Matchers
驗證返回參數 double類型
使用BigDecimal驗證返回參數 double類型
使用rest-assured的JsonConfig來配置返回的所有的json數值都為BigDecimal類型:
(BigDecimal,用來對超過16位有效位的數進行精確的運算)、
//Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算)
實列2.匿名JSON根節點驗證
一個json文本並不一定有一個命名好的根節點屬性,驗證這種類型的json,這里有一個例子:
[1, 2, 3]
使用 $ 或者是 空字符串 來驗證
實列3 JSON Schema validation
(Json Schema定義了一套詞匯和規則,這套詞匯和規則用來定義Json元數據,且元數據也是通過Json數據形式表達的。Json元數據定義了Json數據需要滿足的規范,規范包括成員、結構、類型、約束等。)
自從 2.1.0 版本rest-assured開始支持Json Schema validation. 舉個例子,在classpath中放置以下的schema文件(譯者注:idea的話可以放在resources目錄下),products-schema.json:
//schema驗證(/products)這個請求是否符合規范:
JSON Schema Validation 設置項
實例4 xml解析
//todo xml解析
//TODO xml XPATH校驗
Schema和DTD
XML響應體也可以驗證為一個XML Schema (XSD)或DTD.
校驗XSD是指:接口中返回xml響應體,針對xml生成xml schema,就是xsd后綴的文件,校驗xsd文件和返回的xml響應體是否一致。
校驗DTD是指:接口中返回的xml響應體中定義了DTD的文檔規范,DTD文檔是以dtd后綴的文件,校驗dtd文件和返回的xml響應體的文檔規范是否一致。
DTD文檔是指在xml頭中定義的DOCTYPE規范
moco文件:
xsd是xml schema definition,xml文檔的結構定義。
moco的接口返回xml文檔,對xml文檔生成對應的xsd文檔