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

如何在SoapUI中将指定测试用例设为测试套件前置执行步骤?

SoapUI 实现认证测试用例全局前置执行的方案

完全可以实现,以下是两种可靠的做法:

方法一:测试套件级别的Setup Script(推荐)

这是最直接的方式,利用测试套件的前置脚本自动触发认证用例执行——无论你选择运行单个、多个还是全部测试用例,该脚本都会优先执行:

  1. 打开目标测试套件,切换到「Setup Script」标签页
  2. 编写Groovy脚本调用你的认证测试用例,示例代码:
// 获取指定的认证测试用例
def authTestCase = testSuite.testCases["认证测试用例名称"]
// 执行该测试用例,生成令牌并设置到测试套件属性中
authTestCase.run(null, false)

如果需要优化(比如避免重复生成未过期的令牌),可以添加令牌有效性校验逻辑:

// 从测试套件属性中获取已有的令牌
def existingToken = context.testSuite.getPropertyValue("TOKEN_PROPERTY_NAME")

// 根据你的令牌过期规则,判断是否需要重新生成
if (!existingToken || checkTokenExpired(existingToken)) {
    def authTestCase = testSuite.testCases["认证测试用例名称"]
    authTestCase.run(null, false)
}

// 自定义令牌过期校验方法(根据实际场景修改)
boolean checkTokenExpired(String token) {
    // 示例:解析JWT令牌的过期时间进行判断
    // 这里替换为你的实际校验逻辑
    return false
}

方法二:单个测试用例的前置脚本(补充方案)

如果存在单独运行单个测试用例的场景(而非从测试套件入口运行),可以给每个需要令牌的测试用例添加Setup Script,调用认证用例:

def authTestCase = context.testCase.testSuite.testCases["认证测试用例名称"]
authTestCase.run(null, false)

不过这种方式需要逐个配置测试用例,适合测试用例数量较少的场景,你的情况更推荐方法一。

关键注意事项

  • 确保认证测试用例将生成的令牌存储在测试套件级别属性中,这样所有测试用例都能直接读取
  • 若使用方法一,运行单个测试用例时要从测试套件的测试用例列表中选择运行,而非单独打开测试用例后点击运行(单独打开测试用例运行时,测试套件的Setup Script不会触发)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 14:47:20