首页 > 运维 > linux运维 > 正文

Linux 怎么写批量接口测试脚本?

冰川箭仙
发布: 2025-12-05 10:30:12
原创
538人浏览过
Linux下批量接口测试脚本核心是用curl发请求、Shell控制流程、jq校验JSON,通过CSV管理用例,支持环境变量切换baseURL,并记录日志统计通过率。

linux 怎么写批量接口测试脚本?

Linux 下写批量接口测试脚本,核心是用命令行工具(比如 curl)发请求,配合 Shell 脚本控制流程,再用简单文本处理或 JSON 解析做结果校验。不需要装复杂框架,几行脚本就能跑通一批接口。

准备基础测试数据

把要测的接口地址、方法、参数整理成结构化格式,推荐用 CSV 或纯文本每行一个请求:

GET,/api/users,{}
POST,/api/login,{"username":"test","password":"123"}
PUT,/api/users/123,{"name":"updated"}
登录后复制

这样容易循环读取,也方便后期加新用例。

用 while + read 批量调用接口

Shell 脚本里逐行读取测试文件,拆分字段,用 curl 发请求:

while IFS=',' read -r method url data; do
  echo "Testing $method $url"
  response=$(curl -s -X "$method" -H "Content-Type: application/json" -d "$data" "$url")
  echo "$response" | jq -e '.code == 200' >/dev/null && echo "✓ PASS" || echo "✗ FAIL"
done < test_cases.csv
登录后复制

注意点:

CodeWP
CodeWP

针对 WordPress 训练的AI代码生成器

CodeWP 149
查看详情 CodeWP
  • IFS=',' 确保按逗号切分,不被空格干扰
  • -s 静默模式,避免 curl 进度条干扰输出
  • jq -e 做 JSON 字段断言,返回非 0 表示失败

加日志和简单统计

把每次结果记到日志文件,最后统计通过率:

log_file="test_report_$(date +%s).log"
total=0 passed=0
<p>while IFS=',' read -r method url data; do
((total++))
response=$(curl -s -X "$method" ...)
if echo "$response" | jq -e '.code == 200' >/dev/null; then
echo "[$(date +%T)] $method $url → PASS" >> "$log_file"
((passed++))
else
echo "[$(date +%T)] $method $url → FAIL: $response" >> "$log_file"
fi
done < test_cases.csv</p><p>echo "Summary: $passed/$total passed" | tee -a "$log_file"</p>
登录后复制

可选:支持环境变量切换 baseURL

测试不同环境(dev/staging/prod)时,别硬编码域名:

# 启动脚本时指定:./test.sh --env staging
env="dev"
while [[ $# -gt 0 ]]; do
  case $1 in
    --env) env="$2"; shift 2 ;;
  esac
done
<p>case $env in
dev)   base_url="<a href="https://www.php.cn/link/cbb686245ece57c9827c4bc0d0654a8e">https://www.php.cn/link/cbb686245ece57c9827c4bc0d0654a8e</a>" ;;
staging) base_url="<a href="https://www.php.cn/link/2027b3d8d3a2a87ef879af0feaad8100">https://www.php.cn/link/2027b3d8d3a2a87ef879af0feaad8100</a>" ;;
prod)  base_url="<a href="https://www.php.cn/link/710ba53b0d353329706ee1bedf4b9b39">https://www.php.cn/link/710ba53b0d353329706ee1bedf4b9b39</a>" ;;
esac</p><h1>然后在循环里拼接:curl ... "$base_url$url"</h1>
登录后复制

基本上就这些。不复杂但容易忽略的是错误处理(比如 curl 超时、服务不可达)和 JSON 格式校验——加个 || echo "curl failed"2>/dev/null 控制异常输出就好。

以上就是Linux 怎么写批量接口测试脚本?的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号