品牌型号:联想 E550C ThinkPad
系统:Windows 11
软件版本:SoapUI 5
时间戳作为API请求中常见的参数类型,在用户token有效期、单据申请等方面扮演着关键角色。在SoapUI等测试工具中,生成时间戳数据是一项基本操作,但如何灵活运用这一功能来满足不同测试场景的需求,却需要掌握一定的技巧和方法。在本文中,我们将一起学习SoapUI如何实现时间戳生成,SoapUI的时间戳如何用于请求参数,帮助API测试人员构建更加精准可靠的测试用例。
一、SoapUI如何实现时间戳生成
时间戳是计算机中用于描述事件发生时间的一种数据格式,可用于标识具体时间,它可以有多种格式,如“1705314645”的Unix时间戳、“2025-06-19T14:30:45Z”ISO时间戳、“2025/06/19 14:30:45”通用字符串时间戳,使用SoapUI生成这些时间戳,可以遵循以下方法:
1、内置Groovy生成时间戳。在测试套件中添加一个Groovy ,随后在脚本编辑器中,使用“System.currentTimeMillis”函数可生成Unix时间戳,使用“SimpleDateFormat”可将“new Date”函数得到的时间转换为ISO时间戳和通用字符串时间戳,具体效果如图1所示。

2、使用内置函数生成时间戳。在参数中,我们不仅可以直接输入参数值或动态参数,还可以添加一个等于号,后面追加内置时间戳函数来实现动态函数生成时间戳参数。
如在参数的Value输入框中输入“${=System.currentTimeMillis()}”,便会生成当前的Unix时间戳数据。

二、SoapUI的时间戳如何用于请求参数
生成时间戳数据后,我们需要将其应用到实际请求的请求参数中传递给服务器完成相关测试,SoapUI提供了多种方式来实现这一点。
1、通过属性占位符来使用时间戳。我们可以在请求中,通过“${#时间戳参数}”的形式来在请求参数中直接使用时间戳。

2、Groovy脚本直接插入时间戳参数。使用Groovy 生成时间戳以后,可以加入一行“testRunner.testCase.getTestStepByName("Request 1").getProperty("timestamp").setValue(customFormat)”来直接将生成的时间戳插入到测试用例“Request 1”请求步骤的“timestamp”参数中。

3、通过Property Transfer来应用时间戳。我们在Groovy 生成时间戳后,将时间戳赋予给result变量,随后新建一个Property Transfer测试步骤,其中Source表示参数传递来源,选择来源为Groovy ,Property选择result,Target表示参数传递去向,选择去向为Request 1请求,Property参数选择对应的时间戳参数,如timestamp。
最后点击绿色运行按钮,在下方Transferred Values便可看到传递的参数值,这样就完成从Groovy脚本生成并传递时间戳到请求参数的过程。

时间戳的生成虽然是一个简单功能,但在API测试中却能发挥出不可替代的作用,通过本文的讲解,我们掌握了SoapUI如何实现时间戳生成,SoapUI的时间戳如何用于请求参数。其实时间戳的测试方面还有很多高级技巧,例如如何基于不同时区生成精准的时间戳、如何动态生成过去或未来的特定时间点、如何处理闰秒等特殊情况,这些情况就有待大家继续探索研究。
