关于robot的部分问题
linyue,不好意思,由于一直都很忙,所以你的问题放了这么久才给你回!同样对那些问我问题的人表示歉意,没有及时回答你们的问题!以下是你的问题
Robot中的相关问题!
一.vp里面的baseline怎么跟变量挂钩,因为我想vp一些动态的东东
答:Robot中的vp的baseline是保存在:工程文件\TestDatastore\DefaultTestScriptDatastore\TMS_Scripts\vp文件夹下边的文件。文件名字用编写规则是 - 脚本名称.验证点类型.base.文件后缀.
解决问题有几种,我们再看看可操作性!
1.找到相应的baseline文件,然后动态修改这个文件内容
2.把可能用的vp都保存,然后动态控制用那个vp来验证
3.观察每次vp到底是什么,然后解决
初步想到以上三种方法,我们看看可操作性
1.由于对其中的baseline格式不了解,进行动态修改,难度很大。所以这种方法不可行
2.我们发现每次添加相应的vp,会在robot中按照一定次序增加vp.比如第一个添加vp后,robot生成一个节点名字叫 Object Properties,第二个叫Object Properties2,以此类推。
那么我每次只要把要用到的vp保存下来就可以了,然后再脚本中控制
比如用select case语句,
select case i
case 你的变量具体值
用 Object Properties
case 你的变量具体值
用Object Properties1
end select
3.用vp每次robot会保存很多无用的数据,我们可能只要一个数据,robot提供了sqagetperproty函数,我们只要每次对比用这个函数动态得到的数据就可以了
上边三种方法,后两种可行,最后一种最灵活!
二.一些控件里面的content我想取出来放到String里面供以后应用,怎么取啊?
答:给你段代码
Sub Main
Dim Result As Integer
Dim CheckState As Variant
Window SetContext, "Caption=Find", ""
Result = SQAGetProperty ("Text=Match case", "State", CheckState)
If Result = sqaSuccess And CheckState = 0 Then
CheckBox Click, "Text=Match case"
End If
End Sub
CheckState就是你想要得
三. 我碰到的一个java applet。看上去应该是个java treeview, 用Robot抓下来却成了
java panel, 一点也不好操作,难道它真是个panel?
答:robot需要通过jvm来识别相应的对象,你测试的这个java applet是用得jdk什么版本,你robot所用的版本是否是同样的版本!因为不同的jdk版本有很大的差异的!
你的问题一定程度是识别对象的问题,那么针对java的程序,robot的javaenabler的版本是否是最高的!还有如果还是不能识别,一般要通过开发proxy的方法,来进行识别!也就是你需要扩展接口支持不能识别的对象!
四.4.关于Robot中的boolean型
我知道Robot中用Integer来处理boolean型,但我对这种Integer表示boolean时的值
有点迷惑。
我用程序测试了一下,
Dim Result As Integer
Result = true时打印出Result的值为-1
Result = false时打印出Result的值为0
是否可以认为Result的值为-1时为true, 为0时为false;
答:robot没有提供boolean的data type.一般在编程过程中我们是用到自定义变量需要boolean的时候,用0成功1失败。这看你自己的喜好,至于你看到的是因为这两个关键字在robot中已经作为关键字赋值了。也就是他把它作为const保存 const true=-1。所以你不能这么认为,这两个关键字只是为了robot作准备的,由于robot没有定义boolean的data type,那么按照其他人提供的sbl中的自定义函数可能有自己的定义方式,所以具体问题具体分析!
五.正常情况下,vp通过log里面就是pass,不通过就是fail.我怎么让他fail以后写的
log不是fail而是sqaNone那种形式
答:robot中提供了函数SQALogMessage code%, message$, description$
你可以在脚本中进行控制,直接写脚本如下:
SQALogMessage sqaNone, "Starting test of Acme Application...", ""
六. SQAFindObject这个函数,怎么有时明明不存在了的东东,它的返回值也能为真,郁
闷。
答:关于这个问题能不能给出个具体点的东西,你说得有可能,因为robot本身有个功能是可以识别不可见对象,开发软件的时候,有很多控件是不显示的,还有就是界面中对象很多,被其他对象覆盖,或者当前时候,对象不显示。而你在用该函数的时候正好有这么个对象,只是你看不到而已。
真是太感谢啦
:× 看了Robot和QTP这两个工具以后,发现这些工具提供的功能对实现初级的自动测试很有帮助,如果要实现比较高级的功能或者增加自动测试的灵活性、可维护性等等,我觉得还是多动动脑筋怎么写代码吧,工具本身的能力也就那么大了。
页:
[1]