【发布时间】:2012-02-29 19:18:13
【问题描述】:
我目前正在为一个准备硒脚本的项目工作,我希望我的 jmeter 代理应该记录硒浏览器执行的步骤。我尝试在同一端口上运行 selenium 和 jmeter 代理服务器,但是在执行 jmeter 代理服务器时拒绝在同一端口上启动。我在某处读到这是可能的,但我没有得到需要遵循的步骤。
【问题讨论】:
-
您使用的是 Selenium RC 还是 Selenium 2 WebDriver?
我目前正在为一个准备硒脚本的项目工作,我希望我的 jmeter 代理应该记录硒浏览器执行的步骤。我尝试在同一端口上运行 selenium 和 jmeter 代理服务器,但是在执行 jmeter 代理服务器时拒绝在同一端口上启动。我在某处读到这是可能的,但我没有得到需要遵循的步骤。
【问题讨论】:
您应该做与通过 Jmeter 代理进行简单测试记录相同的操作:
然后像往常一样通过配置的测试浏览器运行您的 selenium 测试 - HTTP 代理服务器将记录执行情况。
要排除在“selenium-server”窗口中执行的所有步骤,请尝试将以下内容添加到 HTTP 代理服务器设置中的“要排除的 URL 模式”:
^/selenium-server/.*
这里有用的一点是将记录的执行分成不同的线程组 - 例如在 Jmeter 中为每个记录的 selenium 测试用例单独的线程组。
您可以找到here 的分步指南。
说实话,这种“重新录制”可能看起来不是很有用和有效:JMeter 不是浏览器,不会解释下载页面中的 JavaScript。
根据Jmeter wiki:
JMeter 不处理嵌入在 HTML 页面中的 Javascript 或小程序。
JMeter可以下载相关资源(一些嵌入式资源 如果设置了正确的选项,则会自动下载),但它 不处理 HTML 并执行任何 Javascript 函数。
如果页面使用 Javascript 构建 URL 或提交表单,您 可以使用代理记录工具来创建必要的采样器。 如果这是不可能的,那么可以手动检查代码 需要确定 Javascript 正在做什么。
因此,如果您需要 Jmeter 以更好地实现基于现有 Selenium 功能脚本的负载/性能测试,请使用 run Selenium scripts from Jmeter。
【讨论】: