随笔分类 -  Rest-Assured

REST-Assured是一个可以简化HTTP Builder底层 基于REST服务的测试过程的Java DSL(针对某一领域,具有受限表达性的一种计算机程序设计语言)。它支持发起POST,GET,PUT,DELETE,OPTIONS,PATCH和HEAD请求,并且可以用来验证和校对这些请求的响应信息。
摘要:我们除了可以为一个请求指定请求参数之外,还可以指定请求头(header)、cookies、请求体(body)以及请求内容类型(content-type)等,下面我们就来一一介绍一下: 一、请求HTTP资源 我们通常在 request specification 中可以调用任何 HTTP方法 来执行一 阅读全文
posted @ 2018-01-18 15:44 lwjnicole 阅读(6185) 评论(0) 推荐(0) 编辑
摘要:rest-assured支持多种认证授权方案,比如:OAuth、digest(摘要认证)、certificate(证书认证)、form(表单认证)以及preemptive(抢占式基础认证)等。我们可以单独为某一个请求设置认证授权: 我们也可以为所有的请求定义一个认证授权: 一、基础认证 这里有两种基 阅读全文
posted @ 2018-01-17 19:21 lwjnicole 阅读(2746) 评论(0) 推荐(1) 编辑
摘要:前面的文章中已经介绍过了如果获得响应数据,接下来我们来介绍一下应该如何来验证这些获得的响应数据,比如验证状态码、状态行、cookies、header、content-type以及body体。 1.验证响应体(Response Body) 关于响应体的验证前面的JSON例子和XML例子中已经做过详细的 阅读全文
posted @ 2018-01-16 18:30 lwjnicole 阅读(2327) 评论(0) 推荐(0) 编辑
摘要:rest-assured从2.1.0版本开始支持 Schema 验证,包括JSON Schema validation及Xml Schema validation。我们之前断言响应体都是一个一个字段来进行断言,这样如果断言的字段比较多的话就非常的麻烦,为了解决这个问题,我们可以使用schema文件来 阅读全文
posted @ 2018-01-16 16:32 lwjnicole 阅读(1587) 评论(0) 推荐(0) 编辑
摘要:一、静态导入 为了有效的使用rest-assured,官网推荐从下列class中静态导入方法: 如果想使用 Json Schema validation(验证),还需要静态导入下面的方法: 如果我们正在使用的是 Spring MVC ,我们可以使用 spring--mock-mvc模型的rest-a 阅读全文
posted @ 2018-01-15 20:38 lwjnicole 阅读(1738) 评论(0) 推荐(0) 编辑
摘要:我们使用rest-assured可以获得响应内容,比如:我们发起一个get请求 get("/lotto") 并且获得响应内容,我们有多种方式可以实现: 通过上面的方式我们就可以获得整个响应内容,之前的文章中我们已经介绍过通过JsonPath和XMLPath的方式来获得响应体中的某个值或者某个list 阅读全文
posted @ 2018-01-15 17:44 lwjnicole 阅读(5312) 评论(0) 推荐(0) 编辑
摘要:一、根路径(Root path) 为了避免在body方法中使用重复的路径来断言,我们可以指定一个根路径(root path),比如: 我们以前的写法是: 现在我们可以使用root path的方法来写: 我们也可以设置默认的根路径: 在许多高级的测试用例中,在根路径上附加一些参数也非常有用,我们可以使 阅读全文
posted @ 2018-01-15 14:38 lwjnicole 阅读(633) 评论(0) 推荐(0) 编辑
摘要:在许多测试用例当中,为了帮助我们创建正确的断言和发送正确的请求,打印出详细的响应和请求数据是非常有用的。为此我们可以使用rest-assured提供的预定义过滤器或者使用其中的一些快捷方法。 一、请求日志 从1.5版本开始,rest-assured支持请求在发送到服务器之前打印特定请求日志的功能(通 阅读全文
posted @ 2018-01-15 11:26 lwjnicole 阅读(905) 评论(0) 推荐(0) 编辑
摘要:一、默认值 rest-assured发起请求时,默认使用的host为localhost,端口为8080,如果你想使用不同的端口,你可以这样做: 或者是简单点: 你也可能改变默认的baseURI、basePath、port和认证scheme: 这就意味着,类似 get("/hello") 这样的一个请 阅读全文
posted @ 2018-01-12 19:52 lwjnicole 阅读(1808) 评论(0) 推荐(0) 编辑
摘要:rest-assured支持映射Java对象到Json和XML以及从Json和XML中映射到Java对象。Json映射需要在classpath 中有Jackson、Jackson 2或者是Gson,XML映射需要在classpath 中有JAXB。 一、序列化 序列化:序列化Java对象到Json或 阅读全文
posted @ 2018-01-12 11:23 lwjnicole 阅读(1198) 评论(0) 推荐(0) 编辑
摘要:xmlPath的使用方法跟JsonPath的使用方法相近,下面简单总结一下: 准备xml文件数据: 下面我们使用rest-assured的xmlPath来简单的提取一些值: 与JsonPath一样,xmlPath同样支持简单提取某个值: 你也可以做一些复杂点的操作,比如以int的形式获取第一条记录的 阅读全文
posted @ 2018-01-11 19:43 lwjnicole 阅读(1097) 评论(0) 推荐(0) 编辑
摘要:rest-assured支持映射Java对象到Json和XML以及从Json和XML中映射到Java对象。Json映射需要在classpath 中有Jackson、Jackson 2或者是Gson,XML映射需要在classpath 中有JAXB。 1.JsonPath映射 例如:让我们来看一下我们 阅读全文
posted @ 2018-01-11 19:14 lwjnicole 阅读(1136) 评论(0) 推荐(0) 编辑
摘要:JsonPath对于解析Json格式的数据来说非常简单,比如有下面这样的Json数据: 下面是一些简单的使用实例: 从上面的例子中可以看到所有的获取路径中我们都重复使用了lotto,为了避免这个问题,我们可以设置一个根路径(root path): 如果你只是对提取一个单一的值感兴趣,你还可以这样做: 阅读全文
posted @ 2018-01-11 18:32 lwjnicole 阅读(3712) 评论(0) 推荐(0) 编辑