参考连接
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
 - 自动生成接口测试用例