康巴的女人 发表于 2014-11-27 14:12:11

如何根据节点名称勾选复选框

我的测试程序中有这样一个树列表,如下图:

每个节点前面有一个复选框(QTP识别为WebElement),我想通过节点名称,找到对应的复选框,然后勾选复选框,但是我捕获到的复选框属性很少,如下:

节点的名称跟节点前的复选框没什么联系,该怎么做,才能通过节点名称找到对应的复选框呢?

黄gaga 发表于 2014-11-27 14:43:31

我不知道有没理解错你的意思,按照我的理解你是想,比如通过判断节点名称为sys001,就勾选sys001前面的复选框是吗?

如果是这样的话,我想到两种办法,能不能够实现你可以试下

1.试看看节点名称和复选框的(不作为识别属性)的属性里边是否存在有联系的属性,如果有的话可以拿出来做判断。
2.如果真如你说没有任何联系,我建议在对象命名上你自己创造联系。
    比如节点名称命名为“name1”,“name2”,“name3”,“name4”。。。
    复选框命名为“choose1”,“choose2”,“choose3”,“choose4”。。。
那么知道选择了节点名称为name1的   复选框的选择代码就可以为WebCheckBox(“choose”&i).set "on"   其中i对应节点名称的序号。

不知道能不能帮助到你,不过复选框的不是应该是WebCheckBox不应该是WebElement的吧??

康巴的女人 发表于 2014-11-28 16:44:52

黄gaga 发表于 2014-11-27 14:43
我不知道有没理解错你的意思,按照我的理解你是想,比如通过判断节点名称为sys001,就勾选sys001前面的复 ...

我们这里的控件都被开发重新封装了,所以识别出来的都不是标准控件。

黄gaga 发表于 2014-11-29 11:07:35

康巴的女人 发表于 2014-11-28 16:44
我们这里的控件都被开发重新封装了,所以识别出来的都不是标准控件。

哦哦   好吧   

sterson 发表于 2014-12-1 14:21:39

试试用Dom描述编程吧,用对象库有时很难解决这类问题,特别是非标准控件

mvstar 发表于 2014-12-1 15:05:12

通过描述性编程,然后将对象属性参数化WebElement("name:=" & parameter)

康巴的女人 发表于 2014-12-2 10:07:57

sterson 发表于 2014-12-1 14:21
试试用Dom描述编程吧,用对象库有时很难解决这类问题,特别是非标准控件

看网上很多地方讲到要用DOM编程,就是看不太懂怎么编的:(

康巴的女人 发表于 2014-12-2 10:10:22

mvstar 发表于 2014-12-1 15:05
通过描述性编程,然后将对象属性参数化WebElement("name:=" & parameter)

不太懂唉,能不能详细说下,请问name属性是从哪里来的?我观察这个控件的index会发生变化,但又不知道下次会变成几,所以在脚本回放时才找不到控件。

sterson 发表于 2014-12-2 14:18:49

康巴的女人 发表于 2014-12-2 10:10
不太懂唉,能不能详细说下,请问name属性是从哪里来的?我观察这个控件的index会发生变化,但又不知道下 ...

根据你的回答,如果你不知道 name 属性哪里来的,我建议你还是多学习一下QTP的基本功能
推荐你学习QTP自带的帮助文档,虽然它是英文的,但弄个翻译工具慢慢看。。

zhqjsj 发表于 2014-12-10 16:58:15

建议你通过选择复选框后的对象来操作复选框,先选到复选框后的名称对象,通过名称对象的一些属性,在定位到复选框,这个方法我用过,可行,就是有点费事
页: [1]
查看完整版本: 如何根据节点名称勾选复选框