我们如何使用Jmeter处理magento adminside中通过URL传递的密钥?

时间:2014-09-18 12:50:43

标签: php magento login key jmeter

如何在Jmeter中登录magento adminside时获取生成并通过url传递的键值,或者我们如何使用Jmeter处理magento adminside中通过URL传递的密钥? 由于这用于更多URL,因此在录制和播放时无法正常工作。有没有办法绕过这个或任何其他现有的解决方案或设置?

1 个答案:

答案 0 :(得分:0)

如果您查看Magento管理页面来源中的链接,您会看到它们处于下一种形式:

Magento URL

因此,为了模拟请求,您需要提取URL路径位。

例如,如果您需要生成Manage Products页面的网址。最好的选择是使用XPath Extractor后处理器

我们需要获取href链接的<a>属性,该链接是<span>Manage Products</span>元素的父级

获取href属性的XPath表达式如下所示:

(//span[text()='Manage Products']/parent::*)/@href

但它会返回整个URL,包括协议,主机,端口等,如

http://host:port/magento/index.php/admin/catalog_product/index/key/5d35a99da0b9993d4ddce0be9a3175db/

我希望您需要在/admin之后“切断”所有内容,以便建立正确的路径。您可以使用substring-after XPath函数:

substring-after((//span[text()='Manage Products']/parent::*)/@href,"/admin")

总结以上所有内容:

将XPath Extractor PostProcessor添加为执行登录的请求的子级。按如下方式配置:

XPath Extractor

  • 参考名称:PATH
  • XPath查询:substring-after((//span[text()='Manage Products']/parent::*)/@href,"/admin")
  • 其他字段可以保持不变。

注意:Magento正在使用XHTML,但如果响应不符合XHTML,则可能需要检查XPath Extractor中的Use Tidy框。

如果添加Debug Sampler和View Results Tree Listener,您将能够看到存储为PATH JMeter变量的提取值:

Debug Sampler

现在,您可以使用提取的路径和密钥构建“管理产品”页面的下一个请求。为此,请将以下行放入HTTP Request sampler Path区域:

/magento/index.php/admin${PATH}

Magento Path

保存并运行测试。

Voila,我们在“管理产品”页面上:

Manage Products

有关详细信息和参考,请参阅下一指南: