我正在寻找一些如何克服这个问题的想法: - 我有一个执行登录的脚本然后执行业务事务然后注销。
要调试脚本,我会重播它。 登录工作,我登录到我的系统,但脚本在业务交易期间失败,这是我的预期,我正在重新ID我需要关联的点。
但我有一个问题。当脚本停止时,我的用户仍然处于登录状态。我无法将用户注销,我必须等待用户会话超时才能再次重播脚本。
我已经将注销过程捕获到vuser_end中,有没有办法可以在失败后强制重播继续,然后手动设置下一个要执行的命令(所以我可以运行脚本的注销部分) - 如果是我可以将一个变量传递给注销,一个变量Id需要从“即时窗口”中捕获(我知道它不存在 - 我能想到它最好的描述)
答案 0 :(得分:0)
您可以强制脚本忽略错误并继续执行脚本代码。
打开运行时设置面板。
导航至'常规'> '杂项'面板。
选中标有'错误时继续'的复选框。这将尝试强制脚本通过错误,你可以输入自己的错误检查代码,包括手动传递/失败事务。
答案 1 :(得分:0)
继续出错是一个糟糕的建议。它适用于在代码中负责分支的情况,即在发生错误时执行代码而不是让系统将您锁定。
我提出了一个不同的模型。测试告诉我们,对于每一步,我们都有预期的结果。在您的虚拟用户执行时,检查测试代码中的这些预期结果。如果没有收到预期的结果,例如在缺少动态系统变量(相关性)的情况下,则立即将代码分支到系统的注销。如果你继续通过未实现的项目,就像启用错误继续的情况一样,那么你更有可能结束与提交与系统状态或坏/旧变量的上下文请求相关的500类错误而不是你要成功结束注销。
作为备用路径,您可以让系统管理员记录如何为用户终止孤立登录会话并使用它来终止会话。
这有一个积极因素。当你听到人们讨论系统中有多少人需要重现时,你有一个直接的例子,表明这些人中的一些人实际上并没有在系统上工作,而只是等待超时的会话。这就是为什么系统日志通常更好地衡量在任何给定时间谁在系统上,而不是报告用户会话的数量"在管理控制台中还活着。