我有大约 100 个 xpath,它们仅在末尾的索引上有所不同。
样本 xpath 的范围为:
(//div[@class='something']
//div[@class='some other thing'])[1]
至:
(//div[@class='something']
//div[@class='some other thing'])[100]
我有一个 CSV 文件,其中每个字段都有预期值。
请注意,我是在 JMeter 的 Webdriver 采样器中执行此操作,将语言保持为 javascript。
如何使用最少的代码循环遍历这些 xpath,并获取其中的
text()
,并检查它们是否符合 CSV 文件中的预期值?
您是否在问如何在 JavaScript 中创建 for 循环?
for (var i = 1; i <= 100; i++) {
var xpath = "(//div[@class='something']//div[@class='some other thing'])[" + i + "]"
var actualText = WDS.browser.findElement(org.openqa.selenium.By.xpath(xpath)).getText()
var expectedText = org.apache.commons.io.FileUtils.readLines(new java.io.File('/path/to/your/file.csv')).get(i-1)
if (actualText != expectedText) {
WDS.sampleResult.setFailure(true)
WDS.sampleResult.setFailureMessage("Text mismatch")
}
}
关于使用 JavaScript 作为语言,总体想法并不是很好。