51Testing软件测试论坛

标题: 新手请教! [打印本页]

作者: joshfang    时间: 2006-12-14 02:51
标题: 新手请教!
当录制一段删除记录的脚本时,如何录制记录编号?
如果在执行时,此条记录已经不存在了怎么办?
作者: xiaonan    时间: 2006-12-14 09:29
首先你得知道这个对象的哪个属性,描述了这个编号.再用GetROProperty("属性")来取这个编号.

如果执行时,这个记录已经不存在了,那么QTP就不找不到这条记录,会报错.
作者: joshfang    时间: 2006-12-15 01:22
//登陆,输入用户名密码
Browser("Browser").Dialog("Connect to webdev").WinEdit("User name:").Set "username"
Browser("Browser").Dialog("Connect to webdev").WinEdit("User name:").Type  micTab
Browser("Browser").Dialog("Connect to webdev").WinEdit("Password:").SetSecure "wjeofo34kl43kjsd449bec6ebf3acd384d7f1d97493703e0a09bda"
Browser("Browser").Dialog("Connect to webdev").WinEdit("Password:").Type  micReturn

//点击页面上的连接
Browser("Browser").Page("Page").Link("I-1019").Click

//进行删除操作
Browser("Browser").Page("Page_2").WebList("status").Select "DELETED"
Browser("Browser").Page("Page_2").WebButton("Submit").Click
Browser("Browser").Dialog("Windows Internet Explorer").WinButton("OK").Click


这是我录制的一段脚本,就是先登陆,输入用户名密码,然后进入页面,进行删除记录操作(针对数据列表的第一条记录)。
每次连接的地址总是变的,无法固定

通常是采用什么方法来处理呢?从数据库中取值?写成变量?请指教,谢谢

[ 本帖最后由 joshfang 于 2006-12-15 01:48 编辑 ]
作者: joshfang    时间: 2006-12-16 01:08
自己顶一下,红颜色的位置是要从datatable中取吗?
作者: joshfang    时间: 2006-12-16 02:15
我自己手动改了对象库以后,为什么在运行的时候总是报description dismatch的警告呢?还有什么地方需要改吗?
作者: xueboy118    时间: 2006-12-16 11:17
Browser("Browser").Page("Page").Link("I-1019").Click
I-1019是录制时得到的么?还是登陆后就在页面上已经存在了?
作者: walker1020    时间: 2006-12-17 13:26
根据楼主在 #3的描述,我的理解是 Link("I-1019") 这个对象的名字 I-1019总是变化的,因此你想寻找它的解决方法。 我想你首先要找到 这个  Link的地址 的变化规律,例如 它是从前面的某个对象的属性继承过来的;然后 再对它的属性用正则表达式来表示,或者是把它的地址放在datatable里面,然后到datatable去取值;或者是 自己写 脚本来实现你的要求。

另外,对于你在#5说的出现description dismatch的警告,这不是什么大问题,只是因为根据对象库里面对象的属性, QTP没有在页面上找到与此完全匹配的对象,只能找到一个与此大体匹配的对象。
作者: xiaonan    时间: 2006-12-18 16:56
你这个参数化,不能轻易的到datatable或其他哪里取值.针对对象名的参数化,在我的blog里的<QTP参数化实例>讲到过,你可以看一下连接.如果你这个对象名有一定规律可以用正则表达式.或者用我文章里提到的方法,先把红色部分修改成描述性编程的形式.然后再来参数化,不然会报没有匹配对象的错.
http://blog.51testing.com/?26649
作者: joshfang    时间: 2006-12-19 04:00
感谢两位斑主的指点:)

xiaonan 你的文章写的太好了!!

[ 本帖最后由 joshfang 于 2006-12-19 04:09 编辑 ]
作者: joshfang    时间: 2006-12-19 05:53
还有一个问题,link现在是可以用描述性语句来写,但为什么page不可以呢?
每次page还是到对象库中去找对象。

Dim i
i=DataTable("exp0","Global")
Dim e
e="Edit Experiment ID#"&i


Browser("Browser").Page("Experiments Listing").Link("text:="&i).Click
Browser("Browser").Page("text:="&e).WebButton("Delete").Click
作者: joshfang    时间: 2006-12-21 02:03
自己顶一下




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2