Loadrunner 从web#u自定义#u请求获取id';身体

Loadrunner 从web#u自定义#u请求获取id';身体,loadrunner,Loadrunner,我有以下请求,我需要从body那里得到ticketId。有人能帮我吗 web_custom_request("loadMessage.json", "URL=http://someURL/loadMessage.json", "Method=POST", "Resource=1", "Referer=http://someURL/096F516B149EFF0F48DD2D12B8AF2577.cache.html",

我有以下请求,我需要从body那里得到ticketId。有人能帮我吗

web_custom_request("loadMessage.json", 
        "URL=http://someURL/loadMessage.json", 
        "Method=POST", 
        "Resource=1", 
        "Referer=http://someURL/096F516B149EFF0F48DD2D12B8AF2577.cache.html", 
        "Snapshot=t14.inf", 
        "EncType=application/json; charset=UTF-8", 
        "Body={\"ticketId\":\"440684\", \"ticketThread\":\"SERVICE_CREATION\", \"locale\":\"en\"}", 
        LAST);

提前谢谢

在这里,您似乎遇到了一个概念性问题,即HTTP如何工作以及LoadRunner如何与HTTP虚拟用户一起工作。您正在查找的数据正在作为web_custom_请求()的一部分传回。实际上,您需要从先前请求的响应体中捕获值。捕获前一个请求中的数据并用捕获的数据替换当前请求中的硬编码值的过程称为“相关性”。HP提供的标准web虚拟用户培训课程的1/3全部用于此主题,包括处理动态数据的几种技术。以下是一种简单易行的技术:

  • 记录您的业务流程两次
  • 使用工具查找请求中的差异。这些将归结为与会话、状态、时间和业务流程数据相关的几个项目。您的票证ID位于业务流程数据类别中,但它很可能不是需要处理的唯一项目
  • 一旦确定了相关候选项,请查看生成日志,以找到相关数据的第一个示例。就您的票证ID而言,我将在日志中搜索440684
  • 此响应主体与请求绑定。如果查看脚本生成日志中有关响应的信息,您应该能够确定脚本中的哪个请求生成了包含响应主体的响应
  • 使用涉及web_reg_…()函数使用的标准技术,将响应捕获到所谓的相关变量中供您使用
  • 替换收集到web_custom_request()中的响应的静态值

  • 如果你的管理层没有为你提供培训和导师,你应该考虑他们是否对你的成功感兴趣,或者仅仅考虑你的账单能力。这种没有培训或专业发展的模式经常被重复,通常会导致管理者向不满意的客户牺牲一名绩效测试人员,而不让管理者为所发生的事情承担任何共同的责任,而管理团队的决策是所发生事情的主要责任。如果您发现自己处于这种情况,我建议您找到一种快速退出策略,因为几乎可以肯定,您将不得不为其他人与您的培训和专业发展相关的决策付出代价。

    问题是应用程序使用GWT,并且没有任何页面可以获取ticketId。因此,当按下按钮时,id会自动生成,我无法找到从响应中获取id的方法。然后使用javascript函数将代码转换为C。在调用之前运行C函数,并将输出插入脚本。由于票证ID可能需要具有通用唯一性,因此单个工作站生成一个六位数字的不同ID的可能性很低,该ID在某一点上与另一个已经存在的票证ID不冲突。这些ID很可能是按顺序生成的,并且在脚本的前面生成了保留,但仅当您看到它时才可见或锁定。查看负载生成日志中的票证ID值。