【发布时间】:2016-04-08 15:07:40
【问题描述】:
我将使用 Jmeter 测试的服务之一具有复杂的授权机制,需要一些基于 CS 的步骤 (JavaScript)。所以,要建立一个会话,我必须使用 WebDriver,因为 Jmeter 不能(实际上不应该)处理 JS。
我是这样做的:在每个线程开始时,我在真实浏览器中打开资源(通过Jmeter WebDriver插件),完成授权,存储服务器设置的浏览器cookie,然后使用这些cookie生成在定义的 HTTP 会话中使用标准 Jmeter 逻辑加载。
此架构工作正常,我在不同的负载测试中成功使用它。
但现在我测试的服务不仅需要 cookie,还需要浏览器在 POST 作为授权过程的一部分发送的一些重要参数。为了证明我的请求属于同一个会话,我应该从request中提取一些敏感参数,而不是从响应中(很容易做到)。 我在 DOM 中的任何地方都找不到这些值,而且这些值似乎是由附加到响应页面的 JS 生成的。
所以,我的问题是:有没有办法从 WebDriver 发送的请求中捕获参数?
我了解在 Jmeter 中发起的浏览器完成的所有请求对它都是不可见的。我看到的唯一想法是动态使用 Jmeter 请求记录器:
打开浏览器窗口。
将 Jmeter 定义为此浏览器的代理。
使用记录器在 Jmeter 中捕获浏览器发送的请求。
以某种方式从请求中提取敏感数据。
使用数据生成负载。
任何想法表示赞赏。提前致谢!
【问题讨论】:
标签: jmeter jmeter-plugins