REST Assured 系列汇总 之 REST Assured 17 - 设置默认的RequestSpecification

我们可以根据需要创建多个Request Specification,Rest Assured提供一种方式设置一个默认的Request Specification,所以这个默认的Request Specification可以发送给每一个request如果没有设置其它Request Specification。Java语言中,int类型默认值是0,相似地我们也可以设置一个默认的Request Specification。

为了设置默认的Request Specification,我们需要用RestAssured class中static属性requestSpecification,当没有设置其它RequestSpecification,默认的RequestSpecification会自动发送。如果我们有另外一个requestSpecification,默认的requestSpecification将会被新的requestSpecification覆盖。

完整代码:

import org.junit.Test;
import org.junit.BeforeClass;
import io.restassured.RestAssured;
import io.restassured.specification.RequestSpecification;
import io.restassured.response.Response;public class DefaultRequestSpecificationExample {@BeforeClasspublic static void setupDefaultRequestSpecification(){// Creating request specification using given()RequestSpecification request1= RestAssured.given();// Setting Base URIrequest1.baseUri("https://restful-booker.herokuapp.com");// Setting Base Pathrequest1.basePath("/booking");RestAssured.requestSpecification = request1;}@Testpublic void useDefaultRequestSpecification(){// It will use default RequestSpecificationResponse res = RestAssured.when().get();System.out.println("Response for default: "+res.asString());}@Testpublic void overrideDefaultRequestSpecification(){// Creating request specification using with()RequestSpecification request2= RestAssured.with();// Setting Base URIrequest2.baseUri("https://restful-booker.herokuapp.com");// Setting Base Pathrequest2.basePath("/ping");// Overriding default request specificationResponse res = RestAssured.given().spec(request2).get();System.out.println("Response for overriding: "+res.asString());}
}

输出:

Response for default: [{"bookingid":22},{"bookingid":9},{"bookingid":27},{"bookingid":3},{"bookingid":28},{"bookingid":11},{"bookingid":16},{"bookingid":21},{"bookingid":20},{"bookingid":5},{"bookingid":1},{"bookingid":33},{"bookingid":8},{"bookingid":7},{"bookingid":26},{"bookingid":17},{"bookingid":30},{"bookingid":13},{"bookingid":23},{"bookingid":19},{"bookingid":29},{"bookingid":18},{"bookingid":14},{"bookingid":6},{"bookingid":32},{"bookingid":2},{"bookingid":4},{"bookingid":12},{"bookingid":10},{"bookingid":31}]
Response for overriding: CreatedProcess finished with exit code 0

REST Assured 17 - 设置默认的RequestSpecification相关推荐

  1. Elasticsearch 设置默认值的三种方式

    1.实战问题 在使用 Elasticsearch 过程中,不免还会有 Mysql 等关系型数据库的使用痕迹,以下两个都是实战开发问到的问题: Elasticsearch 新增字段,能在 Mapping ...

  2. 设置默认Browser

    电信A库要求android系统中有多个Browser时,开机自动设置一个默认浏览器,而不用弹出选择框让用户手动选择. 监听开机广播Intent.ACTION_BOOT_COMPLETED, 用Pack ...

  3. Java-CentoOS 7安装JDK8 (rpm格式 和 tar.gz格式) 多JDK设置默认的Java 版本

    文章目录 下载JDK 安装 rpm格式的 JDK Step1 rpm -ivh 安装 Step 2 配置 & 刷新 /etc/profile 安装 tar.gz格式的JDK 多个JDK共存时, ...

  4. 11.14/11.15 Apache和PHP结合 11.16/11.17 Apache默认虚拟主机

    2019独角兽企业重金招聘Python工程师标准>>> 11.14-11.15 Apache和PHP结合 Apache(httpd)的配置文件:/usr/local/apache2. ...

  5. html中radio单选按钮控件标签用法解析及如何设置默认选中

    Radio 对象代表 HTML 表单中的单选按钮.在 HTML 表单中 <input type="radio"> 每出现一次,一个 Radio 对象就会被创建.单选按钮 ...

  6. 【MAC、Windows系统的node版本管理工具——nvm】nvm的安装、nvm常用命令、nvm设置默认 node 版本

    nvm 目录 总结 nvm 的使用 1. nvm 安装 2. nvm 常用命令 总结 总结 在我们的实际开发过程中,需要使用 nvm use vxx 将 node 版本设置成其他更高或更低的版本,但是 ...

  7. Mutiselect下拉复选框(保存和设置默认选中项)

    HTML代码 <asp:DropDownList ID="ddlWarehouseIds" runat="server" CssClass="d ...

  8. 预习:11.16/11.17 Apache默认虚拟主机-11.24 静态元素过期时间

    预习: 11.16/11.17 Apache默认虚拟主机 11.18 Apache用户认证 11.19/11.20 域名跳转 11.21 Apache访问日志 11.22 访问日志不记录静态文件 11 ...

  9. linux 设置默认java,改变linux默认java

    改变linux默认java [2021-02-01 06:25:00]  简介: linux下如果采用RPM包方式安装php,那么它的默认安装路径在"/etc/"下,此时php配置 ...

最新文章

  1. win32: 查询滚动条相关信息的注意事项
  2. 【9.22校内测试】【可持久化并查集(主席树实现)】【DP】【点双联通分量/割点】...
  3. jdk安装和环境变量的配置
  4. go channel管道select case随机选择管道数据
  5. boost::outcome模块outcome相关的测试程序
  6. Java 7的类型推断
  7. ios 隐藏app的插件_等了5年终于复活,iPhone上最干净好用的微博App
  8. java中使用配置文件_Java中使用Properties配置文件的简单方法
  9. GNU C 与 ANSI C(下)
  10. 为什么选择红黑树作为底层实现
  11. 社团管理系统软件测试,软件测试大作业-社团管理系统.doc
  12. 计算机考试报名照片可以是白底吗,软考报名照片必须白底的是吗?
  13. 尚硅谷nginx学习
  14. 简述 Spring Bean的生命周期
  15. kubernetes 降本增效标准指南| 容器化计算资源利用率现象剖析
  16. 四大机器学习降维方法
  17. TCP/IP协议(2): 以太网(IEEE 802.3) 协议 —— 构成有线局域网的基本协议
  18. PPP协议(PPP协议链路建立过程、PAP、CHAP、华为虚拟网络设备配置)
  19. Python可以用来做什么?
  20. 历史性时刻,Python要成为TIOBE编程语言榜首?

热门文章

  1. DOCs常用命令集合cmd常用api集合
  2. 全国计算机等级考试补考时间,全国计算机等级考试可以补考么(全国计算机一级报名时间)...
  3. 使用poi操作word文档实现套打功能
  4. rv1126 获取图像数据,实现图像裁剪、缩放、旋转【RK_MPI API接口】
  5. android打包发布流程,从源文件到APK-Android打包流程
  6. httpServer / proxyServer / nginx 1.7.9
  7. MIT牛人解说数学体系
  8. WebStrom代码中出现浅黄色背景
  9. 稿费一般多少钱一千字_为什么我在刊物发表文章会给稿费千字多少元不等,而网上却没有?...
  10. 代码理解网络选择候选区域及确定最终目标框的过程