您的位置:首页 > 编程语言 > Java开发

接口自动化测试框架java restassured的高级用法

2018-03-20 20:10 183 查看
最近老有人问我,我们的接口怎么访问不通啊,我在浏览器都可以啊,焦急,无助,这可咋整啊!其实嘛很多时候,我们在测试接口时,需要登录后才能进行测试,比如,我们要测试获取我的账号信息接口,那么我的肯定得登录了 才能获取账号信息,不然都不登录,别人想偷窥你隐私岂不是非常容易?so,来吧,让我们看看如何进行登录然后再进行测试其他依赖的接口吧。顺便今天再把restassured中的jsonschema和平常中我们的断言判断方法讲一讲。   1、获取cookies @Test        public void testMy() throws IOException {
        ValidatableResponse myresponse = given().queryParam("port","256")                .queryParam("username","admin")                .queryParam("password","111111").when()                .post("https://" +"www.******./api/Login.do").then(); //获取登录的cookies信息        Map responseCookies = myresponse.extract().cookies(); //在请求获取账户信息接口时注入cookies        ValidatableResponse response01 = given().cookies(responseCookies)                .get("https://******.com/getcounnt/myrder?dashboard=3").then(); //这样其实就是我们登录以后的一些用户信息        response01.body("succesStatus", equalTo(0));

2、jsonschema的使用,需对接口响应的json数据格式做验证,及时发现风险,避免修改接口后,返回参数的字段类型及字段改出bug。
 首先我们先打开https://jsonschema.net/#/editor(需要翻墙),将接口的返回json粘贴到下图中,然后生成下图右边区域的jsonschema, 然后将它放到我们代码新建一个json文件,放到resource中,再然后就是直接通过代码去校验咯。如下代码。




response.then().assertThat().body(matchesJsonSchemaInClasspath("Json schema/my.json"));

3、restassured中的结果断言 testng中的assert Assert.assertEquals(id, 0); Assert.assertNotNull(HashMap.get("title"));
 太多了testng中的断言太多了,就不一一讲了。
想要了解,获取更多和测试相关的知识请添加此群,本群提供App、Web等Ui自动化,App性能测试,接口功能,
接口自动化测试,jmeter、loadrunner工具介绍,静态代码扫描实践;测试理论,
测试流程。测试管理。
如果有问题可以联系QQ:2171029637
QQ邮箱:2171029637@qq.comApp自动化及Web自动化全栈测试:群号544126564(想要更多资料立即加入此群)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: