RestAssured接口自动化从入门到框架搭建-13-响应断言-状态码/Header/ContentType

本文主要是介绍RestAssured接口自动化从入门到框架搭建-13-响应断言-状态码/Header/ContentType,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇开始来学习下响应中的校验,断言场景,主要有状态码,响应Header断言,响应content type断言和响应正文内容断言。其中响应正文内容断言是最难也是最复杂,接口的响应数据就在正文。

 

1.状态码断言

        /*** 状态码断言*/@Testpublic void testStatusInResponse() {given().get("http://jsonplaceholder.typicode.com/photos/").then().assertThat().statusCode(200).log().all();given().get("http://jsonplaceholder.typicode.com/photos/").then().assertThat().statusLine("HTTP/1.1 200 OK");given().get("http://jsonplaceholder.typicode.com/photos/").then().assertThat().statusLine(containsString("OK"));}

上面第一个用例是状态码断言,是不是200,然后打印响应内容。第二个用例是响应消息中的响应起始行内容行断言,这个在HTTP协议基础系列文章有介绍过。第三个用例是在响应起始行内容行中部分字符串包含断言。

 

2.响应header断言

响应头断言场景

上面红圈可以分别一个一个Header去断言,可以可以多个Headers一起断言。

        /*** header断言*/@Testpublic void testResponseHeader() {given().get("http://jsonplaceholder.typicode.com/photos").then().assertThat().header("X-Powered-By","Express");given().get("http://jsonplaceholder.typicode.com/photos").then().assertThat().headers("Vary","Origin, Accept-Encoding","Content-Type", containsString("json"));}

上面两个case,第一个是只断言一个Header,key是X-Powered-By,value是Express。

第二个用例是断言了两个Header,第一个是Vary和它的value是不是Origin, Accept-Encoding,第二个Content-Type中包含字符串json。

 

3.响应Content Type断言

Content Type常见的三种HTML XML和JSON,这个我们在基本功能文章中介绍过,这里复习一下。

        /*** Content-type断言*/@Testpublic void testContentTypeInResponse() {given().get("http://jsonplaceholder.typicode.com/photos").then().assertThat().contentType(ContentType.JSON);}

 

4.正文文本断言

有时候我们需要对正文文本断言,可以是全部的text,也可以是其中一部分text,下面来举例一个全部text,有一个这个响应内容是xml,text内容不多,我们就直接全部text去断言。

        /*** 响应正文 文本断言*/@Testpublic void testBodyTextInResponse() {String responseString = get("http://www.thomas-bayer.com/sqlrest/CUSTOMER/02/").asString();given().get("http://www.thomas-bayer.com/sqlrest/CUSTOMER/02/").then().assertThat().body(equalTo(responseString));}

 

这篇关于RestAssured接口自动化从入门到框架搭建-13-响应断言-状态码/Header/ContentType的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1050931

相关文章

Spring MVC如何设置响应

《SpringMVC如何设置响应》本文介绍了如何在Spring框架中设置响应,并通过不同的注解返回静态页面、HTML片段和JSON数据,此外,还讲解了如何设置响应的状态码和Header... 目录1. 返回静态页面1.1 Spring 默认扫描路径1.2 @RestController2. 返回 html2

Java后端接口中提取请求头中的Cookie和Token的方法

《Java后端接口中提取请求头中的Cookie和Token的方法》在现代Web开发中,HTTP请求头(Header)是客户端与服务器之间传递信息的重要方式之一,本文将详细介绍如何在Java后端(以Sp... 目录引言1. 背景1.1 什么是 HTTP 请求头?1.2 为什么需要提取请求头?2. 使用 Spr

Python Invoke自动化任务库的使用

《PythonInvoke自动化任务库的使用》Invoke是一个强大的Python库,用于编写自动化脚本,本文就来介绍一下PythonInvoke自动化任务库的使用,具有一定的参考价值,感兴趣的可以... 目录什么是 Invoke?如何安装 Invoke?Invoke 基础1. 运行测试2. 构建文档3.

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

Windows自动化Python pyautogui RPA操作实现

《Windows自动化PythonpyautoguiRPA操作实现》本文详细介绍了使用Python的pyautogui库进行Windows自动化操作的实现方法,文中通过示例代码介绍的非常详细,对大... 目录依赖包睡眠:鼠标事件:杀死进程:获取所有窗口的名称:显示窗口:根据图片找元素:输入文字:打开应用:依

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Jenkins中自动化部署Spring Boot项目的全过程

《Jenkins中自动化部署SpringBoot项目的全过程》:本文主要介绍如何使用Jenkins从Git仓库拉取SpringBoot项目并进行自动化部署,通过配置Jenkins任务,实现项目的... 目录准备工作启动 Jenkins配置 Jenkins创建及配置任务源码管理构建触发器构建构建后操作构建任务

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

MyBatis框架实现一个简单的数据查询操作

《MyBatis框架实现一个简单的数据查询操作》本文介绍了MyBatis框架下进行数据查询操作的详细步骤,括创建实体类、编写SQL标签、配置Mapper、开启驼峰命名映射以及执行SQL语句等,感兴趣的... 基于在前面几章我们已经学习了对MyBATis进行环境配置,并利用SqlSessionFactory核