【发布时间】:2021-03-16 08:40:12
【问题描述】:
我有一组时间段需要循环点击 JMeter 脚本。
对于时隙 id=1 的第一个时隙,WebDriver Sampler 中的代码是:
//选择时间段:
wait.until(pkg.ExpectedConditions.presenceOfElementLocated(pkg.By.xpath("//div[@id='timeslot1']")));
var 时隙 = WDS.browser.findElement(pkg.By.xpath("//div[@id='timeslot1']"));
Timeslot.click();
如何从一组变量而不是特定选择器(“//div[@id='timeslot1']”)中传递一个值?
一组变量如下所示:
//div[@id='timeslot1']
//div[@id='timeslot2']
//div[@id='timeslot3']
//div[@id='timeslot4']
//div[@id='timeslot5']
...
//div[@id='timeslotN']
N - 也是一个变量,应该用时隙执行多少次迭代。
使用传递变量而不是选择器循环执行许多请求的最佳方法是什么?
UPD。 我尝试了以下方法:
1)
wait.until(pkg.ExpectedConditions.presenceOfElementLocated(pkg.By.xpath(WDS.vars.get('//div[@id='timeslot'+N]'))));
var Underwriter_Timeslot = WDS.browser.findElement(pkg.By.xpath(WDS.vars.get('//div[@id='timeslot'+N]')));
(N - 来自Loop控制器的外部变量,N从1到10顺序发送请求)。
但是,在这种情况下,我有一个错误,即 xpath 为空。
2)
var XPath_Timeslot_Number = WDS.vars.get('//div[@id='timeslot'' + WDS.vars.get('N')]); WDS.vars.put('XPath_Timeslot_Number', XPath_Timeslot_Number); WDS.log.info('XPath_Timeslot_Number is: ' + XPath_Timeslot_Number);
wait.until(pkg.ExpectedConditions.presenceOfElementLocated(pkg.By.xpath("WDS.vars.get('XPath_Timeslot_Number')"))); var Timeslot = WDS.browser.findElement(pkg.By.xpath("WDS.vars.get('XPath_Timeslot_Number')")); 时隙.click();
任何见解,在 xpath 中获取此顺序生成时隙编号的正确选项是什么?
【问题讨论】:
标签: variables xpath jmeter webdriver cycle