RestAssured是在HTTPBuilder(一个软件项目)基础上开发出的一个工具,这个工具能够采用JavaDSL进行基于REST风格的服务的测试,使得这种测试变得简单。2RestAssured支持POST,GET,PUT,DELETE,HEAD,PATCHandOPTIONS这几种类型的请求和响应的验证。没有TRACE类型哈。
用户名和密码的认证。认证也好好几个方法,针对不同认证类型调用不同方法,这个认证看看后面文章会不会学习到。
RestAssured能做什么
方式2
这个是重点,返回类型是一个请求对象,这里定义了with()方法。这个方法会返回given(),这个就是我们代码中看到的given()怎么来的,所以你以后在RestAssured的测试用例代码中看到given()就要反应过来,这是一个请求对象。请求对象就最大的功能当前就是发送请求。
重点,given(0就是一个request对象,这个方法里面代码给你解释了,是通过创建createTestSpecification().getRequestSpecification();来得到这个请求对象的。
这个字段,默认值等于“SSL”,目前只需要知道和加密和证书相关就行,我们暂时没有用到,等用到了再说。
这个好说,前面HTTP协议基础说过,session是靠id来识别不同session对象和客户端的关系。
设置过滤器,这样可以作用在每个请求上。
前面类型告诉我们这是响应response对象的一个方法,名称是expect(),也就是期待结果断言之类的,调用格式是responsexpect().xxxx
这个baseURI用来把纳斯达克股票交易记录纳斯达克股票交易记录接口,接口,纳斯达克股票交易记录接口,接口完整URL前面主机部分和相同的uri部分抽离出来,这样其他纳斯达克股票交易记录纳斯达克股票交易记录接口,接口,纳斯达克股票交易记录接口,接口完整请求地址就是这个baseURI+测试代码中get('/xxx')。
几个final修饰字段
final String DEFAULT_URI = 'http://localhost';
final String DEFAULT_BODY_ROOT_PATH = '';
final int DEFAULT_PORT = 8080;
final int UNDEFINED_PORT = -1;
final String DEFAULT_PATH = '';
final AuthenticationScheme DEFAULT_AUTH = new NoAuthScheme();
final boolean DEFAULT_URL_ENCODING_ENABLED = true;
final String DEFAULT_SESSION_ID_VALUE = null;
默认是true,就是请求URL会编码,例如name=张编码之后,完全看不懂,具体有兴趣可以去HTTP协议中编码表去看看。
设置响应中内容的根路径,不然都不好解析响应数据。
参考这个就是POST类型请求需要调用这个方法。
看一下英文单词就是知道什么用途,大致作用知道就可以。刚开始,我们代码没看得深入,只能这样过一遍。
这是一个代理对象,代理一般都是代理Hostname和端口port两个最基本组成。
负责向解析器注册表注册其他内容类型。就是下面这些内容类型。
private final Map additional = ['application/rss+xml' : 'application/xml', 'atom+xml' : 'application/xml',
'xop+xml' : 'application/xml', 'xslt+xml' : 'application/xml', 'rdf+xml' : 'application/xml',
'atomcat+xml' : 'application/xml', 'atomsvc+xml' : 'application/xml', 'auth-policy+xml' : 'application/xml']
方法详解
这个好处就是我们可以在测试环境和准生产,生产环境通过改变配置文件中的服务器地址来达到一套代码三套环境可以运行的利器。
这是一个关于认证校验的对象,例如token,和OAuth和证书认证,常见就是用户名和密码的登录认证。
设置默认的解析器,例如JSON解析,XML解析
下面是一些使用的例子:支持JSON数据解析和验证支持XML数据解析和验证支持cookies添加支持Header字段设置支持ContentType设置正文Body的设置支持Cookies的设置Status状态码相关设置authentication认证设置
上面这些知识,全部是我们前面HTTP协议基础中介绍过的,无非就是一句话:在RestAssured中,可以用代码设置HTTP请求和HTTP响应和Cookies以及头字段。其实这些就是RestAssured这个框架的基本功能。我在项目中的demo包下的BasicFeatures.java就是用来写这种基本功能的测试用例,这部分不是本篇的重点。
方式1
然后下面好多关于7中HTTP请求类型的方法定义,这里不一一介绍。
一组参数,在对响应内容解析之后多个条件断言会用到,多个条件就是这里的Args
重点,前面代码出现过,这里就可以回答前面问题,get请求方法就是对标GET请求类型
字段详解
从345到496这些行代码都是成员变量的定义,我们来整体过一遍。有些字段本篇开始就要记住,有些有一个印象就可以。
这个也是重点,虽然我们还没有用过when(),返回类型是一个请求发送器。
程序默认端口是8080,这个我们可以提供使用自己的。
开始阅读RestAssureclass内容,我们直接看51行到342行的注释。
在工程中展开maven依赖中的Rest-Assurejar包文件,找到RestAssureclass,看代码。
也是一个纳斯达克股票交易记录纳斯达克股票交易记录接口,接口,纳斯达克股票交易记录接口,接口,定义一个你想要的的响应对象
鼠标移动到这一行导入包语句,移动到单词RestAssured,点击进去可以看代码。
上面出现大部分方法,我们会一个一个去用具体的纳斯达克股票交易记录纳斯达克股票交易记录接口,接口,纳斯达克股票交易记录接口,接口测试用例去介绍,这本来就是RestAssured基本功能的一部分,现在我们就是逐步熟悉RestAssured这个框架,距离搭建我们纳斯达克股票交易记录纳斯达克股票交易记录接口,接口,纳斯达克股票交易记录接口,接口自动化测试框架还有很远的路要走。
一个集合容器放过滤器,过滤器可以帮助我们在实际提交请求之前对请求进行检查和修改。
这是一个纳斯达克股票交易记录纳斯达克股票交易记录接口,接口,纳斯达克股票交易记录接口,接口,运行你指定一个请求的样子,怎么设计请求都是你的事。
定义配置,例如重定向和客户端参数,config().重定向代码
设置一个对象映射器,用来对象序列化和反序列化
文章为作者独立观点,不代表股票交易接口观点