我对Jmeter很新,并试图用它来测试我的应用程序。
在我的应用程序中,每次我们点击模板时,应用程序都会为模板分配一个唯一的ID ...当我使用jmeter记录步骤时,记录了一个特定的唯一ID ...但是当我尝试播放录制的案例...它正在寻找相同的唯一ID ....如何告诉jmeter从应用程序中获取新的id?
以下是步骤
答案 0 :(得分:1)
这在很大程度上取决于是在客户端(即通过JavaScript)创建模板ID,还是在服务器上创建(即您实际上可以记录服务器返回的模板ID)。
如果是第二种情况,那么服务器会在模板选择的响应中返回模板ID,因此您可以使用post-processors之一 - 在父请求之后调用的支持元素;它通常从响应中提取数据并将其保存为变量。在您的情况下,您提取模板ID并将其另存为变量。后来的采样器可以使用格式为${your_name}
的变量而不是记录的硬编码字符串。因此,在这种情况下,您的计划可能如下所示:
使用哪种后处理器以及如何使用它取决于您从服务器接收的响应,因此在此不能更具体。
如果第一个选项是您的情况(客户端上的JavaScript生成模板ID;并且您的记录仅包含所述ID的使用),那么您可以通过使用JMeter脚本之一生成类似ID来模拟JavaScript正在执行的操作 - 相关功能:它可以是random function,inline piece of JavaScript code,可编写脚本的采样器,例如JSR223 Sampler,或者......实际上有很多选项,具体取决于生成的模板ID的具体需求。同样,更具体的问题将有助于缩小您的选择范围。
答案 1 :(得分:0)
您需要检查上一个请求的响应。通常会创建ID,并且可以在上一个请求的响应中找到,您可以将该ID用于下一个请求。
您需要先找到生成ID的响应和ID的格式。您可以使用firebug以HTML格式查看响应并查找id的位置。
获得id的格式后,在其周围创建正则表达式。使用JMeter附带的regex测试仪进行测试。或者您可以使用rubular.com来检查正则表达式的正确性。
一旦你有正确的正则表达式,在请求上使用正则表达式后处理器返回id,然后在使用唯一id的实际请求中使用该变量。