51Testing软件测试论坛

标题: 如何解决回放对象属性同录制时不一致...急!! [打印本页]

作者: yushudd    时间: 2008-2-26 14:05
标题: 如何解决回放对象属性同录制时不一致...急!!
我现在遇到一个棘手的问题,回放时对象属性同录制时不一致,导致识别不到该对象。
对象是程序页面中多个个WebEdit对象的中的一个,录制时是通过对象名称标识该对象的(也只能通过name标识),名称由一个特定内容加一个id组成;
回放的时候,这个id发上了改变,导致识别不了这个WebEdit。

谁能告诉我有什么办法可以解决啊???
作者: calvin_wang    时间: 2008-2-26 14:54
能不能抓的到那个ID变化的规律啊?如果可以的话,就把对象的name属性参数化。

如果不行的话,试试用location或者index来识别。

如果还不行的话可以试试用webtable的方法,即browser().page().webtable().childitem来识别~~~
作者: 7444    时间: 2008-2-26 15:57
标题: 描述性编程 或者 直接在对象库里相关属性处删除掉那个会变化的属性
也可参数化   或者set toproperty语句
作者: caodongjian    时间: 2008-2-26 16:17
你有一个可以识别的标识.name

可以把ID.给删除.不要这个就好了.不管它的变化
作者: yushudd    时间: 2008-2-26 16:39
问题已经解决
3楼的:试图按set toproperty这种方法去做,但不知道怎么下手(翻阅了set toproperty多遍),没能采用。如果3楼的还能看此贴,希望能给些具体说明。
4楼的方法行不通,去掉name中的id还是识别不到。
采用的是2楼的方法:Set WebEditObj = Browser("Mercury Tours").Page("Method of Payment").WebTable("FirstName").ChildItem(8, 2, "WebEdit", 0)
WebEditObj.Set "Example"
万分感谢各位!
作者: calvin_wang    时间: 2008-2-27 10:38
原帖由 yushudd 于 2008-2-26 16:39 发表
问题已经解决
3楼的:试图按set toproperty这种方法去做,但不知道怎么下手(翻阅了set toproperty多遍),没能采用。如果3楼的还能看此贴,希望能给些具体说明。
4楼的方法行不通,去掉name中的id还是识别不到。
...


哦也,终于能把在这里学到的知识用来帮助别人了,哈哈,另外想讨论一下啊,我认为set toproperty并不能解决这个问题,因为即使改变了对象在对象库中的属性,但是如果不知道这个对象运行时的值,那么仍然会找不到对象,所以应该是set ROproperty,但是QTP没有这样的语句啊,哈哈,可以用object.XX来尝试一下改变这个对象运行时的值。




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