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

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

MySQL中C接口的实现

《MySQL中C接口的实现》本节内容介绍使用C/C++访问数据库,包括对数据库的增删查改操作,主要是学习一些接口的调用,具有一定的参考价值,感兴趣的可以了解一下... 目录准备mysql库使用mysql库编译文件官方API文档对象的创建和关闭链接数据库下达sql指令select语句前言:本节内容介绍使用C/

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

5 种使用Python自动化处理PDF的实用方法介绍

《5种使用Python自动化处理PDF的实用方法介绍》自动化处理PDF文件已成为减少重复工作、提升工作效率的重要手段,本文将介绍五种实用方法,从内置工具到专业库,帮助你在Python中实现PDF任务... 目录使用内置库(os、subprocess)调用外部工具使用 PyPDF2 进行基本 PDF 操作使用

C#自动化实现检测并删除PDF文件中的空白页面

《C#自动化实现检测并删除PDF文件中的空白页面》PDF文档在日常工作和生活中扮演着重要的角色,本文将深入探讨如何使用C#编程语言,结合强大的PDF处理库,自动化地检测并删除PDF文件中的空白页面,感... 目录理解PDF空白页的定义与挑战引入Spire.PDF for .NET库核心实现:检测并删除空白页

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

k8s搭建nfs共享存储实践

《k8s搭建nfs共享存储实践》本文介绍NFS服务端搭建与客户端配置,涵盖安装工具、目录设置及服务启动,随后讲解K8S中NFS动态存储部署,包括创建命名空间、ServiceAccount、RBAC权限... 目录1. NFS搭建1.1 部署NFS服务端1.1.1 下载nfs-utils和rpcbind1.1

Python实现自动化删除Word文档超链接的实用技巧

《Python实现自动化删除Word文档超链接的实用技巧》在日常工作中,我们经常需要处理各种Word文档,本文将深入探讨如何利用Python,特别是借助一个功能强大的库,高效移除Word文档中的超链接... 目录为什么需要移除Word文档超链接准备工作:环境搭建与库安装核心实现:使用python移除超链接的