You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SoapUI批量发起多站点Get请求并汇总结果的实现方案咨询

SoapUI批量GET请求并统一保存结果实现方案

前期准备

  • 先将存储站点链接的txt文件整理为每行仅存1个完整URL的格式,删除多余空行、首尾空格,保存备用。

SoapUI 操作步骤

步骤1:创建基础测试结构

  • 打开SoapUI,点击File > New REST Project,随便填入一个可用的站点URL完成基础项目创建
  • 左侧项目树右键点击刚创建的项目,选择New TestSuite,自定义命名后确认
  • 右键点击新建的TestSuite,选择New TestCase,自定义命名后确认

步骤2:配置数据源读取txt链接

  • 进入刚才创建的TestCase,在左下角Test Steps区域右键,选择Add Step > DataSource
  • 数据源类型选择File,在File选择栏导入你整理好的站点txt文件
  • File Type设置为Text,勾选Trim选项自动去除每行首尾冗余空格
  • 点击下方Add按钮新建1个属性,命名为site_url,分隔符设置为None(每行仅1个URL无需拆分)
  • 点击DataSource工具栏的运行按钮测试读取效果,确认能正常拉取所有URL后保存

步骤3:配置动态GET请求

  • 在Test Steps区域右键,选择Add Step > REST Request,自定义命名后确认
  • 请求编辑页中,将原有固定Endpoint替换为${DataSource#site_url},请求方法选择GET,其余请求头、参数配置和你平时发起单个请求的规则保持一致即可

步骤4:添加结果统一写入逻辑

  • 在Test Steps区域右键,选择Add Step > Groovy Script,粘贴以下代码,将代码中"C:/soapui_result/response.txt"替换为你自己要存储结果的本地文件路径:
// 读取当前请求的地址和返回结果
def currentSite = context.expand('${DataSource#site_url}')
def responseContent = context.expand('${REST Request#Response}')
// 拼接写入内容(带站点标记方便后续查看)
def output = "===== 请求站点:${currentSite} =====\n${responseContent}\n\n"
// 以UTF-8编码追加写入到结果文件
new File("C:/soapui_result/response.txt").append(output, "UTF-8")

注意:如果你的REST请求步骤不是默认命名REST Request,需要将代码中REST Request替换为你自己的请求步骤名称

步骤5:配置循环实现批量执行

  • 在Test Steps区域右键,选择Add Step > DataSource Loop
  • 配置项中DataSource Step选择你之前创建的DataSource步骤,Target Step选择刚才配置的GET请求步骤,保存即可

步骤6:启动批量任务

  • 回到TestCase主界面,点击左上角的运行按钮,SoapUI会自动依次读取所有URL发起请求,并将所有返回结果追加写入你指定的文件中

补充说明

如果部分站点响应较慢,可在REST请求的设置页面将超时时间调整为15秒以上,避免请求异常中断。如果觉得SoapUI操作繁琐,也可以使用Python、Shell等轻量脚本实现相同逻辑,执行效率更高。

内容的提问来源于stack exchange,提问作者Bums Geordi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:15:01