如何在Jmeter中登录magento adminside时获取生成并通过url传递的键值,或者我们如何使用Jmeter处理magento adminside中通过URL传递的密钥? 由于这用于更多URL,因此在录制和播放时无法正常工作。有没有办法绕过这个或任何其他现有的解决方案或设置?
答案 0 :(得分:0)
如果您查看Magento管理页面来源中的链接,您会看到它们处于下一种形式:
因此,为了模拟请求,您需要提取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添加为执行登录的请求的子级。按如下方式配置:
PATH
substring-after((//span[text()='Manage Products']/parent::*)/@href,"/admin")
注意:Magento正在使用XHTML,但如果响应不符合XHTML,则可能需要检查XPath Extractor中的Use Tidy
框。
如果添加Debug Sampler和View Results Tree Listener,您将能够看到存储为PATH JMeter变量的提取值:
现在,您可以使用提取的路径和密钥构建“管理产品”页面的下一个请求。为此,请将以下行放入HTTP Request sampler Path区域:
/magento/index.php/admin${PATH}
保存并运行测试。
Voila,我们在“管理产品”页面上:
有关详细信息和参考,请参阅下一指南: