Liferay p_auth相关性

时间:2016-05-09 09:34:17

标签: jmeter

在我的应用程序中,p_auth的值是动态变化的 我试图通过相关来处理它,对我来说似乎很好,但没有成功。

我附上一些截图,请帮我识别我的错误

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

P_AUTH是Liferay authentication token,用于CSRF保护,可以通过3个简单的步骤处理:

按如下方式设计测试场景:

  1. 打开登录页面
  2. 提取for( Integer i : list ) { //check for max here }
  3. 将第2步中提取的值传递给登录请求
  4. 第2步详见:

    如果您查看步骤1中的回复文字,您会在回复正文中看到p_auth

    P_AUTH

    为了将其作为第一个请求的子项提取到JMeter Variable add Regular Expression Extractor并按如下方式进行配置:

    • 参考名称:任何有意义的内容,即p_auth
    • 正则表达式:p_auth
    • 模板:$ 1 $

    通常不需要提取p_auth=(.+?)"参数,我通常将其替换为${__time(,)} function

    所以请求本身看起来像:

    Request Details

    要仔细检查我们是否已成功登录 - 请查看打开用户信息中心的上一个请求的“响应数据”标签:

    Verify Login

    有关绕过JMeter测试中的CSRF保护的更多详细信息,请参阅How to Load Test CSRF-Protected Web Sites文章。

    P.S。我在HTTP Header Manager中看到了this screenshot。如果它是您在录制期间获得的内容 - 删除它,因为它可能包含硬编码的无关标题,这可能会损害或至少审查标题并仅留下(或关联)您需要的标题