接口自动化测试框架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(想要更多资料立即加入此群)
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(想要更多资料立即加入此群)
相关文章推荐
- 【深入Java基础】HashMap的高级用法(二):同步
- Java中的排序——高级用法
- JAVA正则表达式高级用法(分组与捕获)
- Java中this关键字高级用法
- [转]你应该更新的Java知识之Optional高级用法
- Java 工程与 Eclipse 高级用法
- Java高级个人笔记(StringUtils工具类用法)
- JAVA正则表达式高级用法(分组与捕获)
- Java中的排序——高级用法
- JAVA正则表达式高级用法(分组与捕获)
- JAVA正则表达式高级用法(分组与捕获)
- 【深入Java基础】HashMap高级用法(一):排序
- JAVA正则表达式高级用法(分组与捕获)
- Java 枚举类型的基础和高级用法
- JAVA高级:反编译工具jad的简单用法
- Java高级个人笔记(NumberUtils、ArrayUtils和RandomUtils工具类用法)
- JDBC(Java Data Base Connectivity)高级用法
- 【Java高级】ThreadPool用法与优势
- JAVA正则表达式高级用法(分组与捕获)
- java continue高级用法