假装不在 发表于 2009-2-20 19:19:03

回复 19# 的帖子

::yiwusuoyou::: 恭喜了~~

huiguiziran111 发表于 2009-2-23 11:17:17

:P

testlab 发表于 2009-2-23 11:42:06

学习了

fei.ge 发表于 2009-2-27 14:01:56

写的非常好,非常实用,呵呵。

顶楼主。

damaoa 发表于 2009-2-27 15:07:13

大家都很厉害!

大家都很厉害!

假装不在 发表于 2009-2-28 12:15:37

::yiwusuoyou:::

大家写完后,可以试试看发出去,并且自己收件。看看结果如何?
write方法,或者是insertAdjacentText   效果有什么区别。

其实方法中还有另外一两个,大家可以想想如何做。并且看看效果。

free1998 发表于 2009-3-2 15:38:10

先收了,等有时间再试试

假装不在 发表于 2009-3-6 15:36:29

原帖由 fei.ge 于 2009-2-27 14:01 发表 http://bbs.51testing.com/images/common/back.gif
写的非常好,非常实用,呵呵。

顶楼主。

::yiwusuoyou:::   谢谢。

lijian422202 发表于 2009-3-6 18:14:58

写的很好,主要是给大家提供了另一个操作对象的思路,用DOM对象操作起来可以方便的实现很多WEB上的公共方法

liuruixian0903 发表于 2009-3-12 23:50:18

c'est utile

假装不在 发表于 2009-4-15 10:20:59

:lol 没事顶起来给大家瞧瞧。

shanxi 发表于 2009-4-15 10:25:28

难道QTP封装的方法不是DOM操作?

这里谁能给个解释,QTP并未封装DOM吗?

[ 本帖最后由 shanxi 于 2009-4-15 10:28 编辑 ]

假装不在 发表于 2009-4-15 22:38:24

有。
你可以获取它并对它做操作。

blueeagle9999 发表于 2009-4-16 10:06:39

假兄,我最近遇到了个问题

公司的项目是用JAVA开发的,BS的,在Iframe下有时候用childobjects()方法获取不到webelement对象,这些webelement其实都是一个webtable中的一些数据,比如

set rowId=description.create()
       rowId("html tag").value="DIV"
       rowId("innertext").value="1"                  '加不加这行都等于0
set rowIdcollection=MainPage.Frame("name:=mainIframe").childobjects(rowId)   
rowIdcollection.count                  '得到的总是0


msgbox MainPage.Frame("name:=mainIframe").WebElement("html tag:=DIV","innertext:=1").exist   '这个是存在的

看过你的另外一篇文章(忘了名了:D ),我也尝试用object.getelementsbytagname("DIV"),得到的数据又非常庞大,很多不是我想要的,这些webelement只有一个html tag属性为div,因为QTP没办法把这些webelement识别成webtable里面的数据,因此我才需要大费周章地人工来处理这些数据,对于这个有没有什么好的方法或者建议。

shanxi 发表于 2009-4-16 10:20:52

回复 33# 的帖子

我可以理解为你认同QTP封装的那些方法全是通过操控DOM而获取的吗?

而上面所说的扩展仅是因为QTP未封装?

Haereticus 发表于 2009-4-16 12:09:08

回复 34# 的帖子

可以通过下面方法取数据
'Table编号
For i =1 To 14
'取第几列
        For j=4 To 5
                text = MainPage.Frame("name:=mainIframe").WebTable("text:=^"&i&"{1}\s.*").GetCellData(1,j)
                print text
        Next
Next

cherubim 发表于 2009-4-16 15:04:43

我以前测试的也有文本域的操作,我用innertest就OK了

假装不在 发表于 2009-4-16 17:03:36

原帖由 blueeagle9999 于 2009-4-16 10:06 发表 http://bbs.51testing.com/images/common/back.gif
假兄,我最近遇到了个问题

公司的项目是用JAVA开发的,BS的,在Iframe下有时候用childobjects()方法获取不到webelement对象,这些webelement其实都是一个webtable中的一些数据,比如

set rowId=description. ...


http://www.51testing.com/?uid-174770-action-viewspace-itemid-95404
是这个文章对吧。:lol

你看看后台代码中,这个TABLE自己有ID不,如果有ID就直接getelementbyid就可以了,或者也可以通过getelementsbyname它的名字。

msgbox MainPage.Frame("name:=mainIframe").WebElement("html tag:=DIV","innertext:=1").exist   '这个是存在的
你这个方法有点不准吧,我估计。因为你使用innertext的话,它有可能会帮你匹配正值表达式哦,所以....

另外有个建议,如果你这个控件经常会出现,建议考虑使用插件开发。你可以使用的basicclass 设置成table估计效果会很不错。

假装不在 发表于 2009-4-16 17:05:44

原帖由 cherubim 于 2009-4-16 15:04 发表 http://bbs.51testing.com/images/common/back.gif
我以前测试的也有文本域的操作,我用innertest就OK了

有些情况使用时不行的,像这个163的控件就不行。具体什么原因需要研究。

blueeagle9999 发表于 2009-4-16 22:13:28

回复 38# 的帖子

忙到现在~
你的建议我先收下了,有空仔细研究下,有问题再讨教:lol
页: 1 [2] 3
查看完整版本: 【QTP编码小知识 五 “山寨”WebElement】