RestAssured接口自动化从入门到框架搭建-16-baseURI和basePath

本文主要是介绍RestAssured接口自动化从入门到框架搭建-16-baseURI和basePath,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这篇主要来学习我们这个系列第3篇阅读RestAssured.java中代码中提到的baseURI和basePath。

 

1.场景

首先我们学习过HTTP协议,我们已经知道什么是URI。我们先来看一个接口测试场景。

浏览器打开http://jsonplaceholder.typicode.com/

我要测试上面四个红圈内的接口,其中四个接口都是从/posts, 这个路径就是我们的basePath,baseURI就是http://jsonplaceholder.typicode.com

 

2.baseURI和basePath代码举例

直接来看代码吧

package demo;import static io.restassured.RestAssured.*;import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;import io.restassured.RestAssured;public class BaseUrlPath {@BeforeClasspublic void setup() {RestAssured.baseURI = "http://jsonplaceholder.typicode.com";RestAssured.port = 80;RestAssured.basePath = "/posts";}/*** 在BeforeClass中提前设置好了basePath 和baseURI* 这里只需要填写end points就行*/@Testpublic void test1() {given().get("/1").then().statusCode(200).log().all();}@Testpublic void test2() {given().get("/1/comments").then().statusCode(200).log().body();}@Testpublic void test3() {given().get("?userId=1").then().statusCode(200).log().headers();}
}

上面在BeforeClass中,我们提前设置好了baseURI和basePath, 还有端口号,前面一篇我们还在奇怪为什么默认是8080端口,如果这里你不指定端口是80,RestAssured默认这个port=8080.

下面三个测试用例,这样写的用例就相等简洁一些,而且在BeforeClass中的port basePath baseURI,其实我们都可以提取到配置文件,这一点在接下来我们框架式设计中要利用到。

 

3.其他设置

除了上面basePath, baseURI和port,在Rest Assured还有一些其他的设置选项,可以提取指定。

3.1 基本认证(登录认证)

RestAssured.authentication = basic("username", "password");

3.2 过滤器

这个了解一下,在servlet中,我学习过过滤器Filter的基本使用,主要就是拦截的,这里了解一下就好。

//RestAssured.filters() = // 一个list对象

3.3 RequestSpecification 和ResponseSpecification

这个我们前面一篇学习过

//RestAssured.requestSpecification = 默认requestspecification
//RestAssured.responseSpecification = 默认responseSepecification

3.4 默认解析器和url是否编码

RestAssured.urlEncodingEnabled = true;
RestAssured.defaultParser = Parser.JSON;

3.5 reset方法

RestAssured.reset();

使用这个方法之后,上面设置都恢复成默认设置,basePath默认是空,port默认是8080,baseURI默认是localhost,这个reset()方法在框架有些地方是可以使用的。

这篇关于RestAssured接口自动化从入门到框架搭建-16-baseURI和basePath的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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/

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移除超链接的

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求: