_simon_ 发表于 2005-7-20 21:46:42

关于SQAGetproperty

为什么语句Result = SQAGetproperty("Type=ListView;ObjectIndex=1;\;ItemIndex=1", "ItemText", aa)无法得到ItemText值阿,如果不能这么写,那要怎样才能得到该属性的值阿
等待中.......

gabriel 发表于 2005-7-21 09:17:08

楼主把代码贴出来

_simon_ 发表于 2005-7-21 20:11:28

代码如下:

Result = SQAGetproperty("Type=ListView;ObjectIndex=1;\;ItemIndex=" &i, "ItemText", aa)
    if aa=Eqp(i) then
      SQALogMessage sqaPass, "Test add Eqp Success", ""
    else
      SQALogMessage sqaFail, "Test add Eqp Failed!", ""
    end if

_simon_ 发表于 2005-7-21 20:24:48

Eqp()属于String ,数据量比较大.要验证的项随机,不好录基线文件,感觉不好用vp.请高手们赐教......

gabriel 发表于 2005-7-22 09:25:48

楼主的recMethod$中的层次关系没有表示清楚。所以得不到所要的值

pcl2004_27 发表于 2005-7-22 09:45:05

楼主的代码有问题:

楼主的代码:
其中i什么类型的变量,如果是数值,那么不是字符串,语法有问题,肯定不能调试成功,如果是字符串,那么楼主的这段代码上层应该是个循环,for i=1 to x什么的?
也不成立编写
Result = SQAGetproperty("Type=ListView;ObjectIndex=1;\;ItemIndex=" &i, "ItemText", aa)
    if aa=Eqp(i) then
      SQALogMessage sqaPass, "Test add Eqp Success", ""
    else
      SQALogMessage sqaFail, "Test add Eqp Failed!", ""
    end if

那么楼主的代码 应该改为这样才是争取的
Result = SQAGetproperty("Type=ListView;ObjectIndex=1;\;ItemIndex=" &trim(str(i)), "ItemText", aa)
    if aa=Eqp(i) then
      SQALogMessage sqaPass, "Test add Eqp Success", ""
    else
      SQALogMessage sqaFail, "Test add Eqp Failed!", ""
    end if
str转换字符串会在数值前面默认加上空格,否则会出现 itemindex=i,加上trim以后就会成为 itemindex=i!

1。一个是检察路径!
2.一个就是要看看你获得的属性是否是正确的,这里要确认大小写!

_simon_ 发表于 2005-7-22 23:54:47

谢谢pcl2004_27和gabriel

语句Result = SQAGetproperty(".\;Type=ListView;ObjectIndex=1" , "ItemCount", EqpCount)能够取到ItemCount属性的,Result = SQAGetproperty(".\;Type=ListView;ObjectIndex=1;\;ItemIndex=1", "ItemText", aa)
运行结果Result = 1005,意思好像是无法找到该控件,难道路径".\;Type=ListView;ObjectIndex=1;\;ItemIndex=1"无法定位到该ListView 的Item?
不解.........要如何修改才对??

[ Last edited by _simon_ on 2005-7-23 at 00:07 ]

司空公子 发表于 2005-7-25 09:52:12

1005是找不到这个属性,是不是你的这个控件没有这个属性?用inspector查看一下

_simon_ 发表于 2005-7-25 23:51:11

用inspector查确实没有,不过ListView里有一个Contents有所有Item的信息,如图。请教一下怎么把这里头取出来,或者存储到数组或者存储到文件???

luming 发表于 2005-7-26 08:41:57

应该没有办法,我下面的方法是取Treeview的,你看看是否可以作为参考。

使用robot的Inspector,抓取treeview的时候,有contents属性,里面就包含了treeview的节点内容,可惜的是, SQAGetProperty不支持读取contents,所以只能使用其它的方法。我下面的代码读取的是Rational Test Samples中ClassicsC中的treeview内容,并保存到一个文件中。

tempfile="C:\treeview.txt"         
Open tempfile For Output As #1 '生成一个treeview文本
Window SetContext, "Caption=Classics Online", ""'设置ClassicsC为焦点窗体

result1=SQAGetProperty("Type=TreeView;Name=treMain","Nodes.Count",Size)   '取treeview的数目

for i = 1 to cint(size)
teste = "Nodes(" & cstr(i) & ").Text"                                 '取各个条目的内容
result2=SqaGetProperty("Type=TreeView;Name=treMain", teste,a)
Write #1,a
next i

close #1

zepplin 发表于 2006-8-19 17:50:05

楼上的,请留步

如果我要取TabControl的ItemText该怎么写啊。我试了好多方法都不行啊

5am 发表于 2006-8-19 20:36:50

result1=SQAGetProperty("Type=ListView;ID=1184","Nodes.Count",Size)

我run了一下

status code是1005没找到property?

zepplin 发表于 2006-8-21 23:31:21

楼上的可以把脚本修改为即可
result1=SQAGetProperty("Type=ListView;ID=1184","ItemCount",Size)
主意属性是分大小写的

5am 发表于 2006-8-22 11:28:18

谢谢楼上
我可以得到ItemCount的Size但是ListView似乎没有ItemCount(i).text这种用法啊


teste = "ItemCount(" & cstr(i) & ").Text"
result2=SqaGetProperty("Type=TreeView;Name=treMain", teste,a)


result2返回1008not a array   ItemCount(1).text不能用啊这段code是不是不能用在ListView上?
页: [1]
查看完整版本: 关于SQAGetproperty