【问题标题】:I want to ignore "\" in the dynamic value我想忽略动态值中的“\”
【发布时间】:2021-11-28 02:50:24
【问题描述】:

当我启动 Web 应用程序时,它会生成一个动态值的状态令牌,如下所示“State_token_g0=stateToken = '00aF\x2D5HSbtfsCjJbYUAayevCC5uvH9Qg5aMGSUvKEM';”并且它失败并抛出错误为“{“errorCode”:“E0000003”,“errorSummary”:“请求正文格式不正确。”,“errorLink”:“E0000003”,“errorId”:“oaewNC2ocVjS6m_EpiszsjV7Q ","errorCauses":[]}"。 如果生成的动态值没有“”,它将被执行。 也无法从库中删除 \。 尝试了多个正则表达式 ^[a-zA-Z0-9]+$, [^"]+?, \d+?,\w+?, {"stateToken":([^"]+?),^[A-Z0 -9a-z\~!@#$%^&()_+|,./?]+$,[A-Z0-9a-z\], ^[A- Z0-9a-z\]+$

【问题讨论】:

    标签: javascript regex performance jmeter


    【解决方案1】:
    replace(/\\/g, ''); 
    

    将替换反斜杠,您可以将其添加到您的正则表达式中吗?

    let string = "00aF\x2D5HSbtfsCjJbYUAayevCC5uvH9Qg5aMGSUvKEM";
    var minusbackslash = string.replace(/\\/g, '');
    
    //show result in result div
    document.getElementById("result").innerText = minusbackslash;
    <div id="result"></div>

    【讨论】:

      【解决方案2】:

      您可以通过在正则表达式提取器后添加JSR223 PostProcessor 并在“脚本”区域中使用以下代码来删除反斜杠:

      vars.put('State_token_g0', vars.get('State_token_g0').replaceAll('\\\\',''))
      

      该行将用删除的斜杠替换 State_token_g0 JMeter Variable 的原始值。

      演示:

      在上面的示例中,vars 代表 JMeterVariables 类实例,请参阅 JavaDoc 以获取所有函数和字段的完整描述,以及 Top 8 JMeter Java Classes You Should Be Using with Groovy 文章以获取有关此内容和其他 JMeter API 简写的更多详细信息,可用于 @987654327 @

      【讨论】:

      • 感谢您的解决方案,我可以通过忽略斜杠来生成状态令牌,但在响应正文中我收到错误为“{”errorCode”:“E0000003”,“errorSummary”: "请求正文格式不正确。","errorLink":"E0000003","errorId":"oaej7PZ0shYS_SOmhxM5NGprw","errorCauses":[]}"。但作为响应,状态令牌正在生成
      猜你喜欢
      • 2018-06-19
      • 2013-02-19
      • 2018-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      相关资源
      最近更新 更多