一、前言
在当今数字化信息时代,新闻资讯类应用层出不穷,而新闻列表查询接口作为提供新闻数据的关键桥梁,其稳定性和准确性至关重要。本次测试将围绕 http://v.juhe.cn/toutiao/index
新闻列表查询接口展开,旨在全面验证该接口在各种请求参数组合下的功能表现。
二、接口概述
1. 接口地址
http://v.juhe.cn/toutiao/index
2. 请求方式
支持 GET
和 POST
两种请求方式
3. 返回类型
JSON
4. 接口描述
此接口可返回头条(推荐)、国内、娱乐、体育、军事、科技、财经、时尚等各类新闻信息,数据来源于网络整理。
5. 请求 Header
名称 | 值 |
---|---|
Content - Type | application/x - www - form - urlencoded |
6. 请求参数说明
名称 | 必填 | 类型 | 说明 |
---|---|---|---|
key | 是 | string | 接口 key,在个人中心 -> 我的数据,接口名称上方查看 |
type | 否 | string | 支持类型:top(推荐, 默认)、guonei(国内)、guoji(国际)、yule(娱乐)、tiyu(体育)、junshi(军事)、keji(科技)、caijing(财经)、youxi(游戏)、qiche(汽车)、jiankang(健康) |
page | 否 | int | 当前页数,默认 1,最大 50 |
page_size | 否 | int | 每页返回条数,默认 30,最大 30 |
is_filter | 否 | int | 是否只返回有内容详情的新闻,1: 是,默认 0 |
7. 返回参数说明
名称 | 类型 | 说明 |
---|---|---|
error_code | int | 返回码 |
reason | string | 返回说明 |
result | obj | 返回结果集 |
data | array | 新闻列表,无数据时为 null |
uniquekey | string | 新闻 ID |
title | string | 新闻标题 |
date | string | 新闻时间 |
category | string | 新闻分类 |
author_name | string | 新闻来源 |
url | string | 新闻访问链接 |
thumbnail_pic_s | string | 新闻图片链接 |
is_content | string | 是否有新闻内容,1 表示有,可以通过查询新闻详细内容小接口获取新闻内容 |
三、测试用例设计
1. 正常情况测试用例
项目名称 | 模块名称 | 用例 id | 接口名称 | 前置条件 | 用例标题 | 请求 url | 请求方式 | 请求数据 | 预期结果 | 返回内容 | 测试结果 | 测试人员 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
新闻资讯系统 | 新闻列表查询模块 | TC - 001 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 使用有效 key 获取默认推荐新闻 | http://v.juhe.cn/toutiao/index?key=有效 key | GET | { “key”: “有效 key” } | 1. 状态码 200;2. error_code 为 0;3. reason 为 “成功的返回”;4. result 包含 data 数组,data 不为 null | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 002 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 使用有效 key 获取国内新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&type=guonei | GET | { “key”: “有效 key”, “type”: “guonei” } | 1. 状态码 200;2. error_code 为 0;3. reason 为 “成功的返回”;4. result 包含 data 数组,data 不为 null,且新闻分类为国内 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 003 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 使用有效 key 获取第 2 页的财经新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&type=caijing&page=2 | GET | { “key”: “有效 key”, “type”: “caijing”, “page”: 2 } | 1. 状态码 200;2. error_code 为 0;3. reason 为 “成功的返回”;4. result 包含 data 数组,data 不为 null,且新闻分类为财经 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 004 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 使用有效 key 获取每页 10 条的体育新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&type=tiyu&page_size=10 | GET | { “key”: “有效 key”, “type”: “tiyu”, “page_size”: 10 } | 1. 状态码 200;2. error_code 为 0;3. reason 为 “成功的返回”;4. result 包含 data 数组,data 长度为 10,且新闻分类为体育 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 005 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 使用有效 key 获取只含详情的娱乐新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&type=yule&is_filter=1 | GET | { “key”: “有效 key”, “type”: “yule”, “is_filter”: 1 } | 1. 状态码 200;2. error_code 为 0;3. reason 为 “成功的返回”;4. result 包含 data 数组,data 不为 null,且新闻分类为娱乐,每条新闻的 is_content 为 1 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
项目名称 | 模块名称 | 用例 id | 接口名称 | 前置条件 | 用例标题 | 请求 url | 请求方式 | 请求数据 | 预期结果 | 返回内容 | 测试结果 | 测试人员 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
新闻资讯系统 | 新闻列表查询模块 | TC - 009 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 传入不存在的 type 类型获取新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&type=nonexistent | GET | { “key”: “有效 key”, “type”: “nonexistent” } | 1. 状态码非 200;2. error_code 不为 0;3. reason 提示 type 类型不合法 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 010 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 不传入必填参数 key 获取新闻 | http://v.juhe.cn/toutiao/index | GET | {} | 1. 状态码非 200;2. error_code 不为 0;3. reason 提示 key 参数为必填项 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 011 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | page 参数传入非整数类型获取新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&page=abc | GET | { “key”: “有效 key”, “page”: “abc” } | 1. 状态码非 200;2. error_code 不为 0;3. reason 提示 page 参数类型错误 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 012 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | page_size 参数传入非整数类型获取新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&page_size=xyz | GET | { “key”: “有效 key”, “page_size”: “xyz” } | 1. 状态码非 200;2. error_code 不为 0;3. reason 提示 page_size 参数类型错误 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 013 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | is_filter 参数传入非 0 或 1 的值获取新闻 | http://v.juhe.cn/toutiao/index?key=有效 key&is_filter=2 | GET | { “key”: “有效 key”, “is_filter”: 2 } | 1. 状态码非 200;2. error_code 不为 0;3. reason 提示 is_filter 参数值不合法 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 014 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 使用 POST 方式正常请求默认推荐新闻 | http://v.juhe.cn/toutiao/index | POST | { “key”: “有效 key” } | 1. 状态码 200;2. error_code 为 0;3. reason 为 “成功的返回”;4. result 包含 data 数组,data 不为 null | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
新闻资讯系统 | 新闻列表查询模块 | TC - 015 | 新闻列表查询接口 | 用户已登录,获取到有效的接口 key | 使用 POST 方式传入无效 key 请求新闻 | http://v.juhe.cn/toutiao/index | POST | { “key”: “无效 key” } | 1. 状态码非 200;2. error_code 不为 0;3. reason 包含错误提示信息 | 实际返回的 JSON 数据 | 通过/不通过 | [测试人员姓名] |
四、测试执行与总结
1. 测试执行
使用专业的 API 测试工具(如 Postman)按照上述测试用例逐一执行接口请求,记录每次请求的返回内容,并与预期结果进行对比,判断测试是否通过。
2. 结果分析
对于测试通过的用例,表明接口在该测试场景下功能正常;对于测试不通过的用例,需深入分析返回内容,找出问题所在,如接口代码逻辑错误、参数验证不完善等。
3. 总结
通过全面的测试用例设计和严格的测试执行,能够较为系统地验证新闻列表查询接口的功能完整性和稳定性。后续可根据测试结果对接口进行优化和改进,同时持续完善测试用例,以应对可能出现的更多复杂情况和异常场景,保障新闻资讯服务的高质量运行。