在点击增加按钮后才出现的下拉框中选择内容

背景

    在自动化页面测试过程中会遇到一种场景,有一个表格,点击增加按钮后下方会出现一行内容,并且这一行有选择框,而你还必须进行选择,就像下图所示:

这个第5行的3列全都是选择框,还都必须进行选择,节点可以用来定位的元素很少,id和name还都是有随机值在里面,遇到这种情况想要在里面选择内容就需要一定的技巧,下面介绍一种方法。

方法

    首先看一下这个选择框的节点分布情况:

    图中最底层的input即为所需定位的节点,节点可供定位的上层节点均无可靠的id及name属性,可供定位的为//div[@class='datagrid-view2']节点,新增的行为这个div节点下的第五个tr,需要的input节点是这个tr下较深的一个节点。

    这个选择框是一个input节点,并不是传统的select节点,所以就无法使用select相关的方法来进行选择,不过robotframework中可以使用jquery选择器来进行定位及选择,就提供了另外的一条思路。

    在jquery中对于在input的这种选择框中选择内容,就要用到.combobox('select','')方法,也就是先定位到靠上一点的input节点,然后再使用.combobox('select','')方法即可,select的内容则为所需节点的value的值。在本例中要选择“权重组一”则值即为group1。其他选择值的value是什么则点开下拉框后审查该选项的元素即可看到。

    而对于使用jquery定位到需要定位的input节点就需要依赖图中该节点及向上几个节点的class值了,可以看出,这几个class值都是比较特殊且唯一的,刚好可以用来进行定位。那么最终的jquery语句即为:$('.datagrid-view2').find('tr[class*=datagrid-row-selected] td[field="paramname"]').find('input[class*="combobox-f"]').combobox('select','group1')

    在robotframework中可写为:

在这个语句中用到了一个语法tr[class*=datagrid-row-selected],表示节点的class属性中包含datagrid-row-selected的tr节点,与其类似的还有:$("tr[class^='code']");//class属性以code开始的tr标签、$("tr[class$='code']");//class属性以code结束的tr标签

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值