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

如何在SOAPUI中用Groovy解码REST API返回JSON的Base64并生成PDF

用SOAPUI+Groovy实现Base64解码并保存PDF的方案

当然可以实现!SOAPUI搭配Groovy脚本完全能轻松搞定这个需求,我给你整理了具体的操作步骤和代码示例:

操作步骤

  1. 打开你的SOAPUI测试项目,找到对应的REST请求测试用例。
  2. 在该测试用例中添加一个Groovy Script测试步骤,确保它放在REST请求步骤的后面(这样才能正确获取到请求的响应内容)。

Groovy脚本代码

把以下代码复制到Groovy Script步骤中,记得根据你的实际情况调整文件保存路径:

// 获取REST请求返回的响应文本
def responseText = context.expand('${REST Request#Response}')

// 解析JSON格式的响应
def jsonParser = new groovy.json.JsonSlurper()
def responseData = jsonParser.parseText(responseText)

// 提取parentnode1下的base64内容
def base64Content = responseData.parentnode1.base64content

// 对Base64字符串进行解码,得到字节数组
def decodedPdfBytes = base64Content.decodeBase64()

// 设置PDF文件的保存路径(请替换为你本地的目标目录)
def targetFilePath = "C:/temp/saved_file.pdf"
def pdfFile = new File(targetFilePath)

// 将解码后的字节写入文件
pdfFile.withOutputStream { outputStream ->
    outputStream.write(decodedPdfBytes)
}

// 日志输出,确认操作完成
log.info "PDF文件已成功保存到: ${targetFilePath}"
log.info "响应消息提示: ${responseData.messages}"

注意事项

  • 请把代码中的${REST Request#Response}里的REST Request替换成你实际的REST请求步骤的名称,否则无法正确获取响应内容。
  • 修改targetFilePath为你想要保存PDF的本地路径,Windows系统注意用斜杠/或者双反斜杠\\,Linux/macOS直接用常规路径格式即可。
  • 确保SOAPUI有写入目标目录的权限,不然会出现保存失败的情况。

内容的提问来源于stack exchange,提问作者Priyanka Ray

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 11:08:19