参考连接
http://static.javadoc.io/io.rest-assured/xml-path/3.0.7/io/restassured/path/xml/XmlPath.html
http://static.javadoc.io/io.rest-assured/json-path/3.0.7/io/restassured/path/json/JsonPath.html
参考代码
import org.junit.Test;
import static io.restassured.RestAssured.*;
import static org.hamcrest.Matchers.*;
public class Demo {
@Test
public void testJson(){
when().get("http://127.0.0.1:8000/testerhome.json")
.then()
.body("store.book.category", hasItems("reference"))
.body("store.book[0].author", equalTo("Nigel Rees"))
.body("store.book.find { book -> book.price == 8.95f }.price", equalTo(8.95f))
;
}
@Test
public void testXML(){
when().get("http://192.168.31.99:8000/testerhome.xml")
.then()
.body("shopping.category.item[0].name", equalTo("Chocolate"))
.body("shopping.category.item.size()", equalTo(5))
.body("shopping.category.findAll { it.@type == 'groceries' }.size()",equalTo(1))
.body("shopping.category.item.findAll { it.price == 20 }.name",equalTo("Coffee"))
.body("**.findAll { it.price == 20 }.name",equalTo("Coffee"))
;
}
}
public static void loginXueqiu(){
code=given()
.header("User-Agent", "Xueqiu Android 10.2")
.queryParam("_t", "1GENYMOTIONed534efb6ff44bbdae1e9192253f9a1a.2087663213.1523770568272.1523772396164")
.queryParam("_s", "cdf894")
.cookie("u", "2087663213")
.cookie("xq_a_token","2c1b28b8a33f1d4f0474feaa11afd9200952cbd6")
.formParam("grant_type", "password")
.formParam("telephone", "15600534760")
.formParam("password", "e10adc3949ba59abbe56e057f20f883e")
.formParam("areacode", "86")
.formParam("captcha", "")
.formParam("client_id", "JtXbaMn7eP")
.formParam("client_secret", "txsDfr9FphRSPov5oQou74")
//.formParam("sid", "1GENYMOTIONed534efb6ff44bbdae1e9192253f9a1a")
.when().post("/provider/oauth/token")
.then()
.log().all()
.statusCode(400)
//.body("error_code", equalTo("20082"))
.extract().path("error_code");
System.out.println(code);
}
让Jenkins的html报告展示完整,需要在Jenkins系统管理的脚本命令行里开启权限
参考资料:https://wiki.jenkins.io/display/JENKINS/Configuring+Content+Security+Policy
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
jenkins shell执行命令
ls
which java
java -version
which mvn
mvn -version
mvn test ||:
mvn site
mvn surefire-report:report
find target
作业1
练习下基本的断言机制,json和xml的断言,以及find断言
作业2
演练下接口之间的传值
作业3
把接口测试的demo代码上传到github,并在jenkins里面创建job运行,出一份测试结果,包括测试趋势图,做完截图回帖。参考
下节课预告
- filter机制
- dubbo接口
- 封装复用
- swagger
- 自动生成接口测试用例