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

相关文章

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

Python自动化处理手机验证码

《Python自动化处理手机验证码》手机验证码是一种常见的身份验证手段,广泛应用于用户注册、登录、交易确认等场景,下面我们来看看如何使用Python自动化处理手机验证码吧... 目录一、获取手机验证码1.1 通过短信接收验证码1.2 使用第三方短信接收服务1.3 使用ADB读取手机短信1.4 通过API获取

Rust中的Drop特性之解读自动化资源清理的魔法

《Rust中的Drop特性之解读自动化资源清理的魔法》Rust通过Drop特性实现了自动清理机制,确保资源在对象超出作用域时自动释放,避免了手动管理资源时可能出现的内存泄漏或双重释放问题,智能指针如B... 目录自动清理机制:Rust 的析构函数提前释放资源:std::mem::drop android的妙

Python自动化Office文档处理全攻略

《Python自动化Office文档处理全攻略》在日常办公中,处理Word、Excel和PDF等Office文档是再常见不过的任务,手动操作这些文档不仅耗时耗力,还容易出错,幸运的是,Python提供... 目录一、自动化处理Word文档1. 安装python-docx库2. 读取Word文档内容3. 修改

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

MyBatis-Flex BaseMapper的接口基本用法小结

《MyBatis-FlexBaseMapper的接口基本用法小结》本文主要介绍了MyBatis-FlexBaseMapper的接口基本用法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具... 目录MyBATis-Flex简单介绍特性基础方法INSERT① insert② insertSelec

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri

Idea实现接口的方法上无法添加@Override注解的解决方案

《Idea实现接口的方法上无法添加@Override注解的解决方案》文章介绍了在IDEA中实现接口方法时无法添加@Override注解的问题及其解决方法,主要步骤包括更改项目结构中的Languagel... 目录Idea实现接China编程口的方法上无法添加@javascriptOverride注解错误原因解决方

修改若依框架Token的过期时间问题

《修改若依框架Token的过期时间问题》本文介绍了如何修改若依框架中Token的过期时间,通过修改`application.yml`文件中的配置来实现,默认单位为分钟,希望此经验对大家有所帮助,也欢迎... 目录修改若依框架Token的过期时间修改Token的过期时间关闭Token的过期时js间总结修改若依