我正在 Jmeter 中进行一些压力测试,但使用 Selenium(使用 javascript),但我在按下脚本中的下一个按钮时遇到问题:
我已经使用过 by.xpath、by.id、by.linkText 但这些都不起作用。
var idsin = WDS.browser.findElement(pkg.By.linkText('Consultar'))
idsin.click()
还有其他方法可以按此按钮吗?
您在一个句子中使用了 3 个互斥的术语:“压力测试”、“Selenium”和“javascript”
请注意,不建议使用真实浏览器进行压力测试:
通常不建议使用 Selenium 和 WebDriver 进行性能测试。不是因为它没有能力,而是因为它没有针对工作进行优化,你不太可能得到好的结果。
WebDriver Sampler开发人员:
注意:该项目的目的并不是要替换 JMeter 中包含的 HTTP Samplers。相反,它的目的是通过测量最终用户的加载时间来补充它们。
如果您认为自己比他们聪明,我可以提供的唯一建议是使用 XPath 定位器和部分文本,例如:
var idsin = WDS.browser.findElement(pkg.By.xpath('//button[contains(text(),"Consultar")'))
因为元素周围都有开头和结尾的空格,所以它不是“链接”,而是一个 按钮
还要小心这个 JavaScript,它已从 JDK 15 中删除,您要么需要付出额外的努力,要么在不久的将来降级到较旧的 JVM。
但是,最好的选择是切换到 JMeter 的 HTTP 请求 采样器,只要您正确将 JMeter 配置为像真正的浏览器一样工作,从网络足迹的角度来看,不会有任何区别,并且您将节省大量时间、金钱和树木.