航班可用性API必填参数缺失场景的BDD自动化测试需求
Flight Availability接口缺失必填参数测试自动化实现方案
测试前置规则说明
- 测试对象接口路径:
{{base_url}}/json/1F/flightavailability - 合法基线请求示例:
{{base_url}}/json/1F/flightavailability/adults=1&departureairport=CRL&departuredate=20190509&destinationairport=CZL - 参数规则:所有查询参数中,仅
adults为非必填项,departureairport、departuredate、destinationairport为强制必填参数 - 校验要求:任意一个必填参数缺失时,接口必须返回
422, unprocessed格式的错误响应
BDD场景设计(Gherkin标准格式)
Feature: Flight Availability接口必填参数合规性校验 核心规则:仅adults参数为可选,其余必填参数缺失时接口返回422 unprocessed Scenario Outline: 单个必填参数缺失的响应校验 Given 测试环境已加载Flight Availability接口的基础路径配置 And 构造请求时从全参数基线中移除<缺失的必填参数> When 发送构造完成的接口请求 Then 接口返回的HTTP状态码为422 And 接口响应的报错内容包含"unprocessed" Examples: | 缺失的必填参数 | | departureairport | | departuredate | | destinationairport |
步骤定义参考实现
- Given 测试环境已加载Flight Availability接口的基础路径配置:从环境变量读取
base_url值,拼接生成接口的固定访问路径,存入全局测试上下文 - And 构造请求时从全参数基线中移除<缺失的必填参数>:以包含所有合法参数的请求为基线,根据Examples传入的参数名,从请求参数集中删除对应键值对,生成参数缺失的测试请求
- When 发送构造完成的接口请求:使用HTTP客户端发起请求,将完整响应对象(状态码、响应体)存入上下文,供后续断言使用
- Then 接口返回的HTTP状态码为422:提取响应对象中的状态码字段,断言其值严格等于422
- And 接口响应的报错内容包含"unprocessed":解析响应体中的报错字段,断言报错文本匹配"unprocessed"关键字
内容的提问来源于stack exchange,提问作者Shobha Koti
相关产品推荐
相关产品推荐

