0

我用 Rational Performance Tester9.0 入门版录制了一个测试。在这个测试中,我使用 username-user2_1、passwd-rajinder登录到http://store.demoqa.com站点。然后测试在购物车中添加一些项目并注销。http://store.demoqa.com是一个电子商务演示站点。登录该站点后,它会在浏览器缓存中存储一​​个名为wordpress_logged_in的 cookie (使用设置 cookie 标头),这有助于服务器识别该用户已登录。此标头可以可以在附加屏幕截图的测试栏中看到。有三个带有前缀wordpress_的 wordpress cookie (使用 set cookie),如下所示:

在录音机测试中:

设置 Cookie:sp_view_mode =默认;到期=格林威治标准时间 2017 年 5 月 25 日星期四 13:20:58;路径=/; 域=store.demoqa.com

Set-Cookie:wordpress_ c3754d87b9a70f2b98efc908f7649120=user2_1%7C1466928058%7Cu0dNqVihIcWFf6NGp4mbfMBPsEPXVqPl7ezWhYsCRWr%7Cef15b9f1f4cbab1ee09e1594f60c8d8590c3e856ad37d35613b2eac24b36a70e; expires=周日,2016 年 6 月 26 日 20:00:58 GMT;路径=/wp-内容/插件;httponly

Set-Cookie:wordpress_ c3754d87b9a70f2b98efc908f7649120=user2_1%7C1466928058%7Cu0dNqVihIcWFf6NGp4mbfMBPsEPXVqPl7ezWhYsCRWr%7Cef15b9f1f4cbab1ee09e1594f60c8d8590c3e856ad37d35613b2eac24b36a70e; expires=周日,2016 年 6 月 26 日 20:00:58 GMT;路径=/wp-admin;httponly

Set-Cookie:wordpress_logged_in_ c3754d87b9a70f2b98efc908f7649120=user2_1%7C1466928058%7Cu0dNqVihIcWFf6NGp4mbfMBPsEPXVqPl7ezWhYsCRWr%7C8a0aeaaa4dd8d1542530b67ea0cab11a5a697c93779746d98ff68678f1d000fe; expires=周日,2016 年 6 月 26 日 20:00:58 GMT;路径=/; httponly

但是当我运行这个测试时,比较记录测试和回放测试的响应头以获取与登录相关的特定请求,这三个 wordpress cookie(以及设置的 cookie 头)没有响应,如下所示。因此,我的测试每次都失败。

[![>在回放测试中:

设置 Cookie:sp_view_mode =default;到期=格林威治标准时间 2017 年 5 月 29 日星期一 23:56:49;路径=/; 域=store.demoqa.com] 2 ] 2

在播放期间,服务器使用 set cookie 仅设置sp_view_mode cookie。其他三个 wordpress cookie 没有出现在响应中。

另请参阅随附的屏幕截图。

谁能告诉我为什么 wordpress 相关的 cookie 没有出现在响应中的原因?

当我使用浏览器手动登录应用程序时,服务器会在设置的 cookie 标头中发送上述三个 wordpress cookie,它工作正常,但是当我使用 RPT 回放测试时,服务器没有设置这些 cookie。

我正在使用 windows7 和 firefox46.0.1。

在录制测试之前,我已经按照建议清除了 cookie 和缓存,并且在播放录制的测试之前,我已经清除了所有 cookie 并清除了缓存。

谢谢....

4

2 回答 2

0

实际上是相关性的问题。我进行了手动关联,问题得到了解决。它也与 ajax wordpress nonces 有关。

有关此问题的完整描述和解决方案,可以参考以下链接:

https://www.ibm.com/developerworks/community/forums/html/topic?id=f6b23cd9-607e-48e4-97d7-20dba33a4a46&ps=25#repliesPg=0

于 2016-07-17T06:05:50.973 回答
0

我的猜测是,当客户端成功登录时,应用程序会发送 HTTP 响应上的 set-cookie 命令。这在 RPT 播放中失败了。请检查测试日志并将 RPT 发送的请求与记录中的请求进行比较。检查任何未正确替换的动态参数。

于 2016-06-17T14:58:42.930 回答