在这个例子中我们假设一个业务: 首先通过 getToken() 获得一个凭证, 然后通过这个凭证使用 getOrder() 去申请一个订单, 凭证上存在时间记录, 如果超过设定的时间(例子中是10秒)后这个凭证就失效而无法用于申请订单了(在上图中的对话框正说明了这种情形).
1.测试中遇到的问题
首先我们需要知道 Buffalo 其实是一种 XML-RPC 技术, 所以我们可以使用 JMeter 的 SOAP/XML-RPC Request 这个 Sampler 进行测试, 但是为了方便快捷进行测试, 以下两个问题需要解决:
如果测试服务器发生变化, 如何方便的一次性改变所有请求的 URL 地址;
如上一节所述, 10秒钟后凭证会失效, 因此我们在测试 getOrder() 的时候不能输入固定的凭证号, 应该每10秒左右获取一个新的凭证, 这样操作的难点在于如何自动让 JMeter 得到新获得的凭证号并应用到 getOrder() 请求中.
2.静态变量(用户定义的变量)
JMeter 允许对一个测试计划(*.jmx)设置用户定义的变量, 因此我们可以把象 URL 等需要统一修改的值作为变量定义起来(如下图);
变量在使用时可以使用 ${变量名} 的方式引用, 如下图: