博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RestAssured接口自动化从入门到框架搭建-16-baseURI和basePath
阅读量:4302 次
发布时间:2019-05-27

本文共 1760 字,大约阅读时间需要 5 分钟。

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

 

1.场景

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

浏览器打开

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

 

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 {		@BeforeClass	public void setup() {		RestAssured.baseURI = "http://jsonplaceholder.typicode.com";		RestAssured.port = 80;		RestAssured.basePath = "/posts";	}		/**	 * 在BeforeClass中提前设置好了basePath 和baseURI	 * 这里只需要填写end points就行	 */	@Test	public void test1() {		given().get("/1").then().statusCode(200).log().all();	}		@Test	public void test2() {		given().get("/1/comments").then().statusCode(200).log().body();	}		@Test	public 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()方法在框架有些地方是可以使用的。

转载地址:http://cnows.baihongyu.com/

你可能感兴趣的文章
C语言 GCC编译的程序运行报错 malloc.c:2401: sysmalloc: Assertion 的分析解决
查看>>
MacOS nodejs 安装 node-sass 报错 error: no template named ‘remove_cv_t‘ 的解决方案
查看>>
MasOS 安装 hashdb 报错 fatal error: ‘openssl/evp.h‘ file not found 的解决方案
查看>>
安卓Kotlin 安卓6及以下 使用HttpURLConnection时 转换url路径中的汉字
查看>>
C语言 x86_64处理器下利用gcc内联汇编实现打印char的二进制编码
查看>>
蛮力、贪心、减治、分治、动态规划算法总结
查看>>
凸优化问题
查看>>
LPL的S9总决赛IG对阵FPX分析
查看>>
算法工程师的日常训练--个人参考
查看>>
看论文的方法论
查看>>
各大机器学习算法的总结
查看>>
监控摄像头分类
查看>>
深度神经网络总结
查看>>
Tensorflow论文学习
查看>>
大数据技术总结
查看>>
云计算技术总结
查看>>
C/C++内存申请函数总结
查看>>
c++文件读写坑总结
查看>>
Java递归删除文件
查看>>
流 java 流 字符流 字节 流的学习与理解
查看>>