鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > cms安装教程 > WordPress > >

[原创] 运用 jMeter 登录 Wordpress

来源:互联网 作者:佚名 时间:2015-10-18 06:02
[原创] 使用 jMeter 登录 Wordpress 前段时间做了个 Wordpress 插件,需要进行压力测试,看看使用该插件后对 Wordpress 的影响。对于不 登录 Wordpress 的情况,测试插件的影响是很简单的,在 jMeter 中简单设置下 HTTP Request 就可以了。不过,还需要测试
[原创] 使用 jMeter 登录 Wordpress
  前段时间做了个 Wordpress 插件,需要进行压力测试,看看使用该插件后对 Wordpress 的影响。对于不登录 Wordpress 的情况,测试插件的影响是很简单的,在 jMeter 中简单设置下 HTTP Request 就可以了。不过,还需要测试登录 Wordpress 后,了解插件对其性能的影响。按道理,这应该也不是什么难的问题,因为之前我也做过很多使用 jMeter 测试登录系统的情况,不过这次却遇到了问题。

  测试环境:日语 Wordpress,jMeter Version 2.7.1, Wordpress Version 3.4.2

  首先,找到登录页提交的地址及所需参数,如下:
[Your Domain]/wp-login.php,提交方式 POST
所需参数:
log:[Login id]
pwd:[Your login password]
wp-submit:ログイン
redirect_to:[Your Domain]/wp-admin/
testcookie:1
并且添加了 HTTP Cookie Manager

  我原以为有了这些就可以登录了,结果我错了。登录失败。

  于是我上网找了好久好久,都没有什么线索,于是我决定还是自己来吧!

  一次偶然的手动登录时,我想到了些东西:会不会是 jMeter 的 Cookie Manager 有问题啊?是不是少了些 Cookie?于是我重新对比了手动登录后涉及的 Cookie 与使用 jMeter 登录后的差别,结果还真发现了问题。

  手动登录时,Cookie 中会有类似如下的信息:
Name:
wordpress_fda39958cfe3c3e4894f548ca952b0a1
Value:
admin|1351669594|e6ffe9655e811ee27868d4e05f67da5f
Domain:
[Your Domain]
Path:
[Your Domain]/wp-admin

  问题就出在这,请大家注意上面红色的问题,自动登录时,请求返回的 Cookie 缺少上面这条内容,导致无法登录

  所以我的解决方案是,首先手动登录 Wordpress,此时抓取上面的 Cookie,并且上述信息添加到 jMeter 的 HTTP Cookie Manager 中。然后运行脚本,bingo! 好用了。

  有了上述的 Cookie,使用 jMeter 再访问其它的 Wordpress blog 页面,就是模拟在登录状态下的访问情况了。

FYI:关于为什么非要加上上述 Cookie 值才能模拟登录情况,我到现在都不是很明白。希望有高人路过时,可以指点下。或者提供一个更好的解决方案。
网友评论
<