RestAssured接口自动化框架实现过程
Anthony_tester
这个作者很懒,什么都没留下…
展开
-
RestAssured接口自动化从入门到框架搭建-1-REST和RestAssured简介
这个系列有一个前提基础,就是HTTP协议基础,有了HTTP协议基础,再来学习这个内容。本内容主要是介绍使用Java语言,利用RestAssured这个框架,到达进行接口自动化测试的目标。本篇主要来了解下什么是REST或者RESTFUL,然后了解框架RestAssured是什么,能做些什么。1.REST或者RESTFULREST是一种软件架构风格,其实就是这么一个特点就行。全称是Rep...原创 2019-07-18 20:33:33 · 15577 阅读 · 1 评论 -
RestAssured接口自动化从入门到框架搭建-2-Maven项目创建和Maven依赖和第一个RestAssured接口测试
这一篇来开始进行一个Eclipse项目的创建,我们选择一个Maven项目工程,然后添加RestAssured这个框架和周边相关的框架的依赖,最后大致介绍以下这些依赖组建的作用。在开始之前,这里介绍一下最新(2019年3月以上)的Eclipse不能从Eclipse市场找到,也不能从install software中下载TestNG的这个问题。1)打开 http://dl.bintray...原创 2019-07-19 20:30:25 · 5484 阅读 · 1 评论 -
RestAssured接口自动化从入门到框架搭建-3-RestAssured对象详解
前面环境搭建好了,第一个用例也跑成功了,也简单证明了Rest Assured的优点,那就是代码量少,语法简单,就这个特点就能提高写接口测试用例的速度。还是有一点感觉,我们还是不熟悉Rest Assured这个框架,在介绍Rest Assured基本功能之前呢,我这里带大家一起读一读RestAssured.java这个类的代码,这个类告诉了我们很多信息,有必要看一看。1.怎么找到RestA...原创 2019-07-19 23:29:03 · 5348 阅读 · 2 评论 -
RestAssured接口自动化从入门到框架搭建-4-RestAssured基本功能1-打印响应内容和body解析
前面文章,让我们稍微对RestAssured这个框架有一点点认识和基础。given()这是一个请求对象,get(url)这个是做GET类型请求的发送操作,then()这个是验证相关的对象,前面get()执行完了就能拿到response对象,然后response对象下有一些验证相关的类,then()就是验证类的一个方法。目前就知道这么多,我们这篇开始,一个一个介绍RestAssured...原创 2019-07-20 23:02:21 · 3571 阅读 · 11 评论 -
RestAssured接口自动化从入门到框架搭建-5-RestAssured基本功能2-请求参数和请求头
继续来学习RestAssured的基本功能,前面写了三个例子,状态码200判断,打印全部响应到控制台和判断响应中某些字符串。其实这三个都是RestAssured的关于响应的处理。这篇我们继续学习请求的处理,例如请求中如何设置参数,请求头字段如何设置等。1.带参数的请求举例场景1:带一个参数的请求请求demo:https://jsonplaceholder.typicode.com...原创 2019-07-21 14:16:04 · 2554 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-6-RestAssured基本功能3-XML响应内容解析
前面几个测试用例的响应内容都是JSON格式,现在来举例请求的响应内容是XML格式的数据如何解析,其实在Rest Assured中,JSPN和XML数据解析都是一样,通用的写法是xpath表示,具体我们来看两个XML响应的解析例子。1.响应内容是单个XML数据请求demo:http://www.thomas-bayer.com/sqlrest/CUSTOMER/10/什么是xp...原创 2019-07-21 15:51:40 · 1502 阅读 · 3 评论 -
RestAssured接口自动化从入门到框架搭建-7-RestAssured基本功能4-root()和post请求和拿到不同响应内容格式
继续来做RestAssured的基本功能练习,先来看看root()这个方法的使用效果。1.root()作用:设置一个body断言开始的base路径,后面boday断言中可以不写完整路径,只写当前路径。例如,加入这里有这么一个请求的响应是这样。{ "RestResponse":{ "message" :"abcddd", "result":{ "name...原创 2019-07-22 22:20:44 · 2178 阅读 · 1 评论 -
RestAssured接口自动化从入门到框架搭建-8-RestAssured基本功能-5-摘取内容
继续来学习Rest Assured中常见的功能,上篇介绍了两种方法得到不同类型的响应数据,其实还有一个方法,可以把响应对象装换成字节数组对象。第二个介绍extract().path()方法去摘取某一个字段的值,最后介绍我们实际接口用例开发中的写法是,先获取响应对象,然后根据响应对象提供的方法,去解析拿到响应正文,状态码和响应头字段等。1.响应转换成字节数组虽然我也不知道为什么要转换成...原创 2019-07-23 20:38:06 · 1744 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-9-RestAssured基本功能-6-ContentType校验
这篇介绍Rest Assured中Content-Type的校验,我们常见的响应内容格式,一般有xml,json,html等。这篇主要介绍如何判断一个响应内容的格式是不是JSON, 是不是xml, 是不是html。 本来想再说具体的xml格式中schema语法校验,和JSON中schema的语法校验,没有找到合适的接口。1.校验响应内容格式是html这里拿百度首页举例。 ...原创 2019-07-24 23:06:06 · 1549 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-10-RestAssured获取响应头和Cookies
这篇来学习下Rest Assured中如何获取响应头和cookies,前面某一篇,我们介绍过如何拿到 响应内容,再做其他操作这条用例,本篇就是在拿到响应内容基础上,再获取headers 和cookies。1.获取Headers /** * 得到响应头 */ @Test public void testGetResponseHeaders() { Res...原创 2019-07-26 23:24:58 · 2230 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-11-请求数据的设置(一)
关于请求数据的设置,前面我们零散地学习到了请求头的设置,这一篇,我们主要来看看GET和POST两种请求数据的设置,在Rest Assured中如何使用。1.GET请求数据设置之queryParam()方法前提是GET请求,请求参数都是拼接在Url后面,如果你看到类似这样请求 http://localhost:8080/api?user=tom&pwd=123456那么你就...原创 2019-07-30 23:11:54 · 1376 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-12-请求数据的设置(二) Headers&Cookies
接着学习Rest Assured这个接口测试工具,本篇继续介绍在请求过程中的一些请求数据的设置。例如本篇学习的path parameters和Headers和Cookies的设置。1.Path Parameters 还是介绍如何设置在请求的Url中的参数使用。这个path parameters就是先用变量去表示key,然后通过函数pathParam()给key设置value,最后在请...原创 2019-08-04 22:44:32 · 2013 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-13-响应断言-状态码/Header/ContentType
这篇开始来学习下响应中的校验,断言场景,主要有状态码,响应Header断言,响应content type断言和响应正文内容断言。其中响应正文内容断言是最难也是最复杂,接口的响应数据就在正文。1.状态码断言 /** * 状态码断言 */ @Test public void testStatusInResponse() { given()...原创 2019-08-05 23:20:49 · 1418 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-14-响应断言-使用Java 8 lambda表达式和响应时间测量
继续来看看响应内容中的验证场景,这篇主要介绍如何使用java 8 lambda表达式在响应内容中断言的使用场景。然后来看看接口性能测试中响应时间丈量的方法。1.正文属性断言场景下面图片是浏览器上访问效果断言thumbnailUrl的值是不是这个图片中的地址。2.使用匿名类在java8之前,我们使用匿名类来实现。 /** * 响应正文中的属...原创 2019-08-06 21:42:09 · 1310 阅读 · 3 评论 -
RestAssured接口自动化从入门到框架搭建-15-RequestSpecBuilder和ResponseSpecBuilder和日志打印使用
本篇来学习一下RequestSpecBuilder和ResponseSpecBuilder,这个在这个系列第二篇文章,阅读RestAssured.java源码的时候可能提到过这个类或者相关接口。1.RequestSpecBuilder举例场景:浏览器打开 http://jsonplaceholder.typicode.com/posts?userId=2下面是请求头截图下...原创 2019-08-07 22:48:35 · 1695 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-16-baseURI和basePath
这篇主要来学习我们这个系列第3篇阅读RestAssured.java中代码中提到的baseURI和basePath。1.场景首先我们学习过HTTP协议,我们已经知道什么是URI。我们先来看一个接口测试场景。浏览器打开http://jsonplaceholder.typicode.com/我要测试上面四个红圈内的接口,其中四个接口都是从/posts, 这个路径就是我们的ba...原创 2019-08-08 21:02:19 · 1748 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-17-处理SSL和TLS协议
这篇简单记录下如何处理SSL和TLS异常,在接口测试中,SSL异常我们之前见过,早起网站都是http打头,然后15年还是16年什么时候,全部要求每个生产环境的网站都使用HTTPS协议,这个S就是安全的意思。关于HTTPS协议,不得不带出SSL和TLS协议。1.网络知识关于SSL和TLS的历史,英文好的可以看这里https://www.hostingadvice.com/how-to/...原创 2019-08-08 22:48:57 · 1454 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-18-序列化和反序列化
这篇来学习一下序列化和反序列化,先看看什么是序列化和反序列化。1.什么是序列化和反序列化可以看看这个文档https://data-flair.training/blogs/serialization-and-deserialization-in-java也可以去百度百科,查一下什么是序列化和反序列化。从上图中可以看到,序列化就是把对象转换为字节流的过程,反过来,反序列化就...原创 2019-08-12 22:17:07 · 1088 阅读 · 2 评论 -
RestAssured接口自动化从入门到框架搭建-19-解析和认证
这篇来学习下Rest Assured中的解析,在Rest Assured 几种解析有:XML,JSON,HTML.TEXT四种。我们可以从哪儿看到这几种类型呢,在请求头那里,可以看到content-type(例如下图),一般值是text/html这样,说明这个响应内容是html格式。而且前面我们知道,不管响应内容是什么格式,Rest Assured都会自动找到解析器,去进行解析。1....原创 2019-08-13 22:58:06 · 1771 阅读 · 0 评论 -
RestAssured接口自动化从入门到框架搭建-20-框架组装-Maven项目环境搭建和BaseTest类和日志模块
再次来到框架设计部分,这里说的框架设计,其实我们自己和设计框架没有啥关系,因为水平远远达不到设计这个词的含义,更多是借助第三方框架来组装框架。任何自动化测试框架,都有以下两个重要的目标:代码复用性和方便维护性。本篇先来学习下框架设计的一些理论知识或者套路,然后开始我们的基于Rest Assured框架搭建我们自己的接口自动化测试框架介绍。框架组装步骤第一步:分析在框架组装之前,需要...原创 2019-09-01 17:51:04 · 2213 阅读 · 3 评论 -
RestAssured接口自动化从入门到框架搭建-21-框架组装-TestBase类功能扩充和工具类TestUtils
接着前面的内容,这篇主要针对父类TestBase.java里面功能进行扩充,主要是Rest Assured的一些常见方法的封装,还有就是在Utils包下新建一个TestUtils.java类,里面主要是写一些和测试响应断言相关的方法。1.TestUtils.java内容直接来看代码,我就简单写了几个方法,大家可以提意见,最后补充到这个github项目中,完善这个框架。package ...原创 2019-09-03 21:34:02 · 1776 阅读 · 1 评论 -
RestAssured接口自动化从入门到框架搭建-22-框架组装-基类修改和post举例和报告获取
接着来完善我们的Rest Assured框架,我在github上搜索到了一些国内和国外的基于Rest Assured写的java语言的接口自动化框架。基本上就是分两种。第一种就是采用excel文件来写接口用例,然后TestUtils中写一个poi读取excel文件的方法。这种思想是数据驱动,框架本身和用例代码很少,核心就是一个一个读取excel中的接口测试用例。第二个类型,就是我们这里介绍的风格。...原创 2019-09-06 22:05:35 · 3059 阅读 · 5 评论