有问题请回帖
schema校验
https://testerhome.com/api/v3/topics/6040.json
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>json-schema-validator</artifactId>
<version>3.1.0</version>
</dependency>
添加导入
import static io.restassured.module.jsv.JsonSchemaValidator.*;
filter机制
@Test
public void testJsonInBase64(){
given().filter( (req, res, ctx)->{
Response resOrigin=ctx.next(req, res);
ResponseBuilder responseBuilder=new ResponseBuilder().clone(resOrigin);
//responseBuilder.setBody("{ \\"SOGO\\": { \\"name\\" : \\"搜狗\\"} }");
String decodedContent=new String(
Base64.getDecoder().decode(
resOrigin.body().asString().trim()
)
);
responseBuilder.setBody(decodedContent);
Response resNew=responseBuilder.build();
return resNew;
})
//.get("https://xueqiu.com/v4/stock/quote.json?code=SOGO")
.get("http://127.0.0.1:8000/base64.json").prettyPeek()
.then()
.statusCode(200)
.body("SOGO.name", equalTo("搜狗"));
}
#记得带上自己的cookie信息,从chrome开发者工具里自动生成这个命令
curl 'https://xueqiu.com/v4/stock/quote.json?code=SOGO' | base64
swagger
图形界面的swagger editor
git clone https://github.com/swagger-api/swagger-editor.git
npm start
命令行版本
brew install swagger-codegen
#windows 用jar包方式 wget https://oss.sonatype.org/content/repositories/releases/io/swagger/swagger-codegen-cli/2.2.1/swagger-codegen-cli-2.2.1.jar
swagger-codegen help
swagger-codegen generate -i pet.yaml -l spring
验证默认生成的mock服务
curl -X GET "http://127.0.0.1:8080/v2/pet/findByStatus?status=available&status=pending" -H "accept: application/json"
作业
作业一
https://xueqiu.com/v4/stock/quote.json?code=SOGO
实现这个接口的schema校验
作业二
把这个接口 https://testerhome.com/api/v3/topics/6040.json 先进行base64加密。然后搭建起来一个demo网站。再使用RestAssured的filter解密base54进行断言验证。
作业三
运行成功swagger editor,截图回帖