上一节中已经实现了从页面上定位到下拉框中元素,选择一个出发地和目的地,点击查询按钮查询班次。
现在再将脚本优化灵活一点,如何实现随机选择下拉框中的值查询呢?
在webdriver sampler选择一种脚本语言JavaScript,查了下这个语言生成随机数的方式
利用Math.random() 与 Math.floor() 一起使用用于返回随机整数。
具体实现如下:
var pkg = JavaImporter(org.openqa.selenium); //WebDriver classes
WDS.sampleResult.sampleStart(); //captures sampler's start time
WDS.log.info("Sample started");
WDS.browser.get('https://blazedemo.com/');
var result1= WDS.browser.findElement(pkg.By.name("fromPort")).findElements(pkg.By.tagName("option"));
for(i=0;i<result1.size();i++)
{
WDS.log.info(result1[i].getText());
}
//下拉框中个数
t=result1.size();
//随机生成一个数
var rand1=Math.floor(Math.random()*t);
WDS.log.info(rand1);
//按生成的随机数点击
result1[rand1].click();
var result2= WDS.browser.findElement(pkg.By.name("toPort")).findElements(pkg.By.tagName("option"));
result2[1].click();
//WDS.browser.findElement(pkg.By.xpath("//form[@action='reserve.php']/div[@class='container']/input[@type='submit']")).click();
WDS.browser.findElement(pkg.By.xpath("//*[@action='reserve.php']/div/input[@type='submit']")).click();
WDS.sampleResult.sampleEnd();