如何通过 JMeter 在 Drupal 8 中创建文章?

How to create article in Drupal 8 via JMeter?

我正在尝试为在 Drupal 8 中创建文章创建一个 JMeter 测试用例。我能够为其他导航添加步骤。但是在表单字段中输入一些值后单击“创建文章”按钮时,我从 JMeter 收到 HTTP 响应 200。但是文章没有被创建。

如果我在浏览器中执行相同的步骤,我将收到 HTTP 响应 303 并且文章已成功创建。

我在点击“创建文章”按钮时在 POST 请求的 headers 请求中找到了这个。我怀疑这可能是 Drupal 服务器不接受请求的原因。因为我不确定这个动态 ID "JJPKbuyIinQT5mQZ" 是如何生成的

这是浏览器生成的吗?如果是,如何在JMeter中做同样的动作?

这是服务器生成的吗?如果是,我在之前的请求中没有看到这个令牌,比如 form_token.

如果您在 Use multipart/form-data for POST 框中打勾,这个动态 ID 应该由 JMeter 自动生成,这就是所谓的 multipart boundary

其他需要考虑的事项:

  • 别忘了加上HTTP Cookie Manager,不然你连登录都做不了

  • 关联form_build_id and form_token. You can do this using CSS/JQuery Extractor

  • 关联 changed,您可以使用 __groovy() function 生成类似 1532969982 的时间戳,例如:${__groovy(Math.round(System.currentTimeMillis() / 1000),)}
  • 关联 created[0][value][date]。您可以使用 __time() function 来做到这一点,例如 ${__time(YYYY-MM-dd,)}
  • 关联 created[0][value][time]。您可以使用与 ${__time(HH:mm:ss,)}
  • 相同的 __time() 函数来执行此操作

大概就是这样吧,其他的值应该可以从记录器中使用。