threes 发表于 2008-9-21 22:59:17

【已解决】Extjs中的可编辑的DataGrid对象的唯一标识问题,急切盼望解决

刚接触QTP,最近测试的一个系统是用Extjs做的,在用QTP编写脚本的时候,遇到了一个问题
在ExtJs的可编辑DataGrid中,里面的WebElement和WebEdit都没有一个实用的唯一性标识,让我大费脑筋
我是先录制,然后修改脚本的
对于里面的对象,我开始用了一个超级笨的方法,就是用abs_x,abs_y来标识,即
Browser("XXX管理系统").Page("XXX管理系统").Frame("Frame").WebElement("abs_x:=301","abs_y:=338").Click
Browser("XXX管理系统").Page("XXX管理系统").Frame("Frame").WebEdit("ext-comp-1003").Set "111111"
但是这种方法只是一个缓兵之计,非常不实用
大家有测试过这种用ExtJS做的系统吗?你们遇到这个问题的时候,都是怎么解决的?
这个问题困扰我老长时间,非常期盼能够得到解答
先谢谢各位了

[ 本帖最后由 threes 于 2008-9-25 23:40 编辑 ]

rcpp 发表于 2008-9-22 10:34:07

你不是要告诉我们连html代码都不是唯一识别吧?

ziheng198688 发表于 2008-9-22 14:25:50

楼主可以尝试用描述性编程的index试一下
Browser("XXX管理系统").Page("XXX管理系统").Frame("Frame").WebElement("html tag:=TD","index:=i").Click

threes 发表于 2008-9-22 19:25:13

回复 2# 的帖子

不幸的是 确实用html都唯一不了

rcpp 发表于 2008-9-22 19:26:52

把页面保存下来,附件贴一下

threes 发表于 2008-9-22 19:29:16

回复 3# 的帖子
我也想过用index,但是不知道怎么确定当前的WebElement是第几个,我用object spy看,看不到。ordinal identifier 选的是index,新手 不要见笑 :)

[ 本帖最后由 threes 于 2008-9-22 19:48 编辑 ]

threes 发表于 2008-9-22 19:45:46

页面内容不好透露 呵呵 希望谅解 我就说一下grid部分的代码<DIV class=ext-grid-mask id=dataGrid
      style="WIDTH: 750px; HEIGHT: 185px"></DIV> 然后通过js来操作ext的api生成grid的内容,所以每个WebElement和WebElement的html都是一样
但是我发现在Run-time object的属性中,有个sourceIndex貌似可以唯一识别,但是我怎么引用这个属性呢?

[ 本帖最后由 threes 于 2008-9-22 20:22 编辑 ]

threes 发表于 2008-9-25 21:43:24

顶一下 希望高手给解答

threes 发表于 2008-9-25 23:39:59

找到解决办法了 谢谢各位的回答 考虑到用extjs的不是很多 今天就暂不贴上了 解决思路我整理一下随后附上 方便后来者吧 :)

topor 发表于 2008-10-9 10:45:07

LZ的解决方案涅?不是随后附上的嘛

waluojia 发表于 2008-10-14 15:08:33

LZ未免太吊大家的胃口了吧?

怎么还藏着掖着的!!!

waluojia 发表于 2008-10-27 02:08:40

这个哥们有点意思……没影了

rt
页: [1]
查看完整版本: 【已解决】Extjs中的可编辑的DataGrid对象的唯一标识问题,急切盼望解决