apache - GET请求中的JMeter变量失败
问题描述
我有一个 GET 请求,它返回一个包含 TicketName 的 XML。我已经使用调试采样器设置了正则表达式提取器。它根据需要获取 TicketName 并将其显示在 View Results Tree 中,并使用正确的名称变量名称 ticketID_g1。但是,当我将该变量传递给下一个 GET 请求时,测试计划失败并显示非 HTTP 响应消息:套接字已关闭。问题是当我查看结果树中的请求选项卡时,GET 请求看起来很容易找到。
我已经多次更改我的正则表达式,每次都正确提取 TicketName,但每次我将它作为变量应用时,GET 请求都会失败。但是,如果我复制结果树请求选项卡中显示的请求并将其直接粘贴到我的浏览器中,我会得到所需的结果。
我已经阅读了手册和在线教程,看起来我做的一切都是正确的,但显然我错过了一些东西。
第一个 GET 请求返回一个 XML,其中包含 name="2019-05-09-16-59-54cmrpip000613_EDASERVE" needsPrompt
我正在使用以下正则表达式来提取变量 ticketID 的名称
name="([^"]+)" 需要提示 - 这有效
结果树显示来自调试采样器的以下响应 -
ticketID_g1=2019-05-09-16-59-54cmrpip000613_EDASERVE
当我将 ticketID 变量传递给下一个 GET 请求时
//localhost:8080/ibi_apps/rs?IBIRS_action=getReport&IBIRS_ticketName=${ticketID_g1}cmrpip000589_EDASERVE&IBIRS_service=defer
第二个 GET 请求的结果树中的 Response 选项卡显示该请求很好但失败了。
我期望的是第二个 GET 将与变量一起运行并返回报告,但抛出非 HTTP 响应消息:套接字关闭错误。
解决方案
您有以下变量正在捕获票证 ID。
ticketID_g1 =2019-05-09-16-59-54 cmrpip000613_EDASERVE
但是,在下面的请求中,您传递的是相同的,其中也有重复的内容,即“cmrpip000589_EDASERVE”
请求:-//localhost:8080/ibi_apps/rs?IBIRS_action=getReport&IBIRS_ticketName=${ ticketID_g1 } cmrpip000589_EDASERVE &IBIRS_service=defer
请正确传递 ticketID 变量,希望它能解决问题。如果我是正确的,您的请求应如下所示:-
请求:-//localhost:8080/ibi_apps/rs?IBIRS_action=getReport&IBIRS_ticketName=${ ticketID_g1 }&IBIRS_service=defer
推荐阅读
- python - 尝试在机器人框架中进行 For 循环时语法无效
- c - 如何修复错误:返回类型'struct {aka struct时的类型不兼容
} - shacl - 有没有办法验证由同一属性链接的不同对象类型的计数?
- macos - clang-tidy 找不到 stdlib 头文件
- java - JpaRepository findAll() 不会返回带有空字段的行
- tcp - 对等节点是否需要通过不同的端口绑定和连接?
- laravel - 在表格行VueJS中循环返回的计算属性的对象
- keras - Keras中二进制分类的单位计数
- javafx-8 - 访问被点击的 imageView
- python - 根据列表将二进制值添加到列数据框