以免费的网站为例BlazeDemo
模拟选择出发地、目的地,点击按钮find flights查询
同样先创建好driver config和webdriver sampler
sampler中脚本编写
第一步:导入包、打开浏览器访问网站
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/');
第二部:选择你的出发城市,从下拉菜单中选择一个
定位下拉框元素,通过WDS.browser方法
获取到出发地下拉框这个对象的集合
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());
}
假如选择boston,是下拉中第3个选项,模拟鼠标点击
2种方法,下标都是从0开始:1)result1[2].click()
2) result1.get(2).click()
用以上同样的方法选择目的地,选择Rome
var result2= WDS.browser.findElement(pkg.By.name("toPort")).findElements(pkg.By.tagName("option"));
result2[1].click();
点击Find Flights按钮查询
这个按钮没有id,也没有name,所以不能通过这两个方式去定位,试了下简单的xpath去定位,成功
WDS.browser.findElement(pkg.By.xpath("//form[@action='reserve.php']/div[@class='container']/input[@type='submit']")).click();
完整代码:
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());
}
result1[2].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.sampleResult.sampleEnd();