如何在RestAssured+Cucumber+Java环境中移除指定请求头?
移除RestAssured中指定请求头的方案
当然有办法,不用新建Feature文件就能搞定:
- 直接使用RestAssured提供的
removeHeader()方法,在需要跳过Source-Identifier头的测试场景里单独调用,就能移除Background中预先设置的这个请求头。 - 具体结合Cucumber的实现方式:
- 在Feature文件的目标场景里添加一个自定义步骤:
Scenario: 无需携带Source-Identifier头的测试场景 Given 准备接口测试数据 When 移除Source-Identifier请求头 Then 发送请求并校验响应结果 - 对应的Java步骤定义类里实现这个步骤:
@When("移除Source-Identifier请求头") public void removeSourceIdentifierHeader() { // 如果直接用RestAssured静态方法 RestAssured.given().removeHeader("Source-Identifier"); // 如果你用了RequestSpecification对象复用配置,就操作这个对象 // requestSpec.removeHeader("Source-Identifier"); }
- 在Feature文件的目标场景里添加一个自定义步骤:
- 这个方法只会作用于当前场景,不会影响Background里其他请求头的配置,也不会干扰其他测试场景的执行。
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

