k6模拟登录wordpress用户

k6模拟登录wordpress用户,wordpress,k6,Wordpress,K6,我正在尝试使用以下脚本模拟登录的用户活动,以便对WordPress站点进行压力测试: import http from "k6/http"; import { sleep } from "k6"; export default function() { var url = "http://example.com.com/wp-login.php"; var payload = JSON.stringify({ user_login: "admin", user_pass: "admin

我正在尝试使用以下脚本模拟登录的用户活动,以便对WordPress站点进行压力测试:

import http from "k6/http";
import { sleep } from "k6";

export default function() {
  var url = "http://example.com.com/wp-login.php";
  var payload = JSON.stringify({ user_login: "admin", user_pass: "adminpass" });
  var params =  { headers: { "Content-Type": "application/json" } }
  http.post(url, payload, params);

  console.log(payload);

  http.get("http://example.com/wp-admin/post-new.php")

  sleep(1)
};
这不起作用,我被重定向到登录页面。
我做错了什么?

我对Wordpress的内部结构不是很熟悉,但看看一些随机安装的
wp login.php
页面,它看起来不像是接受JSON字符串作为POST数据,而是一个普通的
应用程序/x-www-form-urlencoded
POST请求:
http.POST(“http://example.com.com/wp-login.php",{user\u login:“admin”,user\u pass:“adminpass”})
(尽管字段名不同)

可以肯定的是,您可以使用浏览器登录,然后使用它发出的HTTP请求导出HAR文件,并通过运行
k6 convert exported.HAR
,将其转换为k6脚本,使用k6中的HAR转换器。你可以找到更多的信息