Jmeter书中不会教你的(83)——webdriver选择最廉价航班实例

Jmeter书中不会教你的(80)——webdriver下拉框选择_agrapea的博客-CSDN博客

 

紧接着上面80课的内容,查询航班后到下一个选择航班页面,我们固定选择了出发地为Boston,目的地为Rome

查询航班信息如下

 目的:希望在查询的航班中找出最便宜价格的航班选择

一、首先先打印查询出来的航班信息,每一个航班信息都是表格中的一行,以tagName=‘tr’表示,并且层级是在tbody下

 var flights=WDS.browser.findElement(pkg.By.tagName("tbody")).findElements(pkg.By.tagName("tr"));
WDS.log.info("航班个数:"+flights.size());
//打印所有航班信息,下标从0开始
for(i=0;i<flights.size();i++)
{
    WDS.log.info(flights[i].getText());
}

 二、找出最便宜的航班

从上图打印结果可以看出,第3条航班信息价格最优惠

航班价格固定在表格的第6列,通过xpath查找表格中第六列的价格,然后进行比较,说明下xpath中//表示相对路径,比如//tbody//tr/td[6]意思是查找tbody下所有tr元素下第6列的值

var p=WDS.browser.findElements(pkg.By.xpath("//tbody//tr/td[6]"));
WDS.log.info(p.size());

//截取字符串,因为获取的价格带有$无法比较
WDS.log.info(p[0].getText().substring(1));

//将字符串转换为数值使用Number()
minprice=Number(p[0].getText().substring(1));
minrow=0;
for(i=1;i<p.size();i++)
{
    price=Number(p[i].getText().substring(1));
    if(minprice>price)
    {    
        minprice=price;
        minrow=i;
        }
        
    }
WDS.log.info("当前最小值:"+minprice+",当前最小行是:"+minrow);

 打印的最小行下标是从0开始,实际指的就是第3个航班

三、找出了最便宜的航班后选择

 查看下最便宜航班的结构,这时候应该明确只找其中一个元素,需要选中最便宜的航班后点击Choose This Flight

在tbody下找到那一行,此时应该是绝对路径,并在这一行下找到第一列,需要注意的是在xpath中引用变量是直接tr[minrow]是无法识别的,需要在变量前后加“+ var+”


//选择最小的航班点击
var selectflight=WDS.browser.findElement(pkg.By.xpath("//tbody/tr["+minrow+"]/td[1]/input[@type='submit']"));
selectflight.click();

至此已完成所需目标

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

agrapea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值