我正在使用JMeter运行功能测试来更新许多用户的密码(22K)。我用2个脚本分隔了用户并使用了一个终极线程组,其中Start Threads Count = 100,这是我得到的错误较少的值,但是我仍然有1.5%的事务失败,我只需要重新运行这个失败线程,因为所有用户都需要具有相同的密码。 我试图找到这个特定问题的答案,但我只找到了防止这种情况发生的方法,例如使用带有计时器的While控制器,或记录完整的响应失败,但我还没有找到是否有一种专门重新运行失败线程的方法。 有谁知道这是否可行?
答案 0 :(得分:0)
您必须执行以下操作。
您可能需要为脚本添加更多智能以避免无限循环。
答案 1 :(得分:0)
解决问题的另一种方法是预测某些密码更新调用的错误,并在失败时使用您需要的信息构建数据文件。
例如:
创建一个正则表达式后处理器,其默认值为false,模板值为true。使表达式与预期响应匹配,如果样本失败则失败。
然后,在该采样器之后,您可以根据新的true / false变量添加if语句。如果为false,则表示先前的密码更新失败。在if语句中,添加一个带有响应数据的虚拟采样器,其中包含您需要知道必须重试哪些帐户的所有信息。
然后,将一个简单的文件编写器添加到此虚拟采样器,并将虚拟采样器响应数据记录到文件中。在测试运行结束时,此数据文件将包含重新尝试所有失败帐户所需的所有信息。
遗憾的是,这是一个略微手动的过程,但我确信只需一点创造力就可以自动执行递归测试运行,直到重试文件为空。 Beanshell文件IO可能允许您在单次测试运行中处理所有内容。
-Addled