wangdongting 发表于 2010-9-27 10:41:31

使用testcomplete的问题

开发所用的语言是delphi
打开程序后,点应用程序上一个按钮后出现一个提示框
第一次他的NativeDelphiObject.Name 是UserManageForm_1。但是再次打开就会是UserManageForm_2.
因为每次打开会+1,所以每次回放都会出错。刚刚看是在学testcomplete,很多不懂,请大侠看看有什么好的办法啊,谢谢。

TIB 发表于 2010-9-27 11:17:30

可以在Object Map中用正则表达式把这个对象的属性匹配掉,例如UserManageForm.*

也可以在脚本中用Find、FindChild等来查找对象

wangdongting 发表于 2010-9-27 14:00:26

谢谢。我在object map中用正则表达式,很好用啊,3Q

wangdongting 发表于 2010-9-27 14:55:56

回复 2# TIB
Sub Test2()

Call Aliases.CPBCGD.frmBkMain.Click(43, 12)

Call Aliases.CPBCGD.frmBkMain.MainMenu.Click("系统(F)|用户管理")
'Clicks at point (57, 15) of the 'UserManageForm' object.
Call Aliases.CPBCGD.UserManageForm.Click(57, 15)

Call Aliases.CPBCGD.UserManageForm.Panel1.UserTreeView.PopupMenu.Click("新建用户(Z)")
'Closes the 'UserManageForm' window.
Call Aliases.CPBCGD.UserManageForm.Close
End Sub

已经将UserManageForm对象属性用正则表达式匹配过了,成功过一次,但是之后我重新运行就提示如下,请高手帮我看一下是什么原因啊,谢谢!

log中显示
Type        Message        Time        Priority        Has Picture        Link
The '用户管理' window is invisible and thus cannot be activated.        14:46:08        Normal

msnshow 发表于 2010-10-6 13:37:29

不懂,关注中

havards 发表于 2010-11-26 15:35:12

如果想快速解决问题,可以用个循环,当index的值为1的时候,判断下;为2的时候,判断下。(如果只有两个index的变化的话)
如果想彻底解决问题,建议用find findchild。
页: [1]
查看完整版本: 使用testcomplete的问题