51Testing软件测试论坛

标题: qtp取值,在多个嵌套table中取页面的值 [打印本页]

作者: lcyu888    时间: 2009-2-27 17:28
标题: qtp取值,在多个嵌套table中取页面的值
如图2所示, 需要将业务编号的值取出来,但这是一个多个嵌套table页,源码见附件,用qtp对象spy取的的内容如图1所示

如何取页面上业务编号的值?即需要取出“20090003265”

请教请教请教请教请教!!!!
作者: 风雪夜归人    时间: 2009-2-27 17:51
其实,右键你要取出的业务编号值的地方,然后插入output就可以解决的,不过这个方法就使用于你仅仅想取这个地方的值的情况,要不就用正则表达式,把page的outertext取出来,然后匹配,不过,我觉得右键的方法应该对你来说是适用的,试试嘛,格式:
Dim myOutput
myOutput = ‘插入输出值的语句

最好在添加输出值地时候看下上面的说明,如果我猜的没错的话,应该像这样:输出在业务编号后面的数字。。

我遇到过这种情况,当时我就是把一个page的outertext全部取出来,然后匹配的,后来看了别人这样弄,我才觉得很傻X
作者: shotstar    时间: 2009-2-27 21:56
可以把最底层的 WebTable:流程信息 加入到对象库中。
然后用Browser().Page().Frame().WebTable().GetCellData(2,2),这里是直接得到第几行第几列的值。如果你不知道他是第几行第几列,可以用下面这个方法执行一下看看内容。
row=Browser().Page().Frame().WebTable().RowCount
for i=1 to row
    col=Browser().Page().Frame().WebTable().ColumnCount(i)
    for j=1 to col
         msgbox Browser().Page().Frame().WebTable().GetCellData(i,j) & "----" & i & "行" & j & "列"
    next
next
忘了说了,Browser()括号里的我没写,你应该知道写什么。如果觉得上面一长串写着麻烦,可以先set tableA=Browser().Page().Frame().WebTable(),然后后面都用tableA去代表那一长串的内容,不过这样就没法用.把后面的方法自动点出来。

output也可以解决,不过要看你需要的值的前后文字内容是否固定,如果不固定就比较麻烦,不如直接去表格中的内容。

[ 本帖最后由 shotstar 于 2009-2-27 21:58 编辑 ]
作者: lcyu888    时间: 2009-3-2 09:31
提示不存在webtable这个东东
作者: lcyu888    时间: 2009-3-2 10:03
标题: 请问复,谢谢!
请问
1、dim values
values = Browser("").Page("").Frame("Frame_5").WebElement("WebTable").Output CheckPoint("WebTable")
用上面这样实现时,提示语法错
2、象下面这个语句,如何把值取出来放在一个变量中?
Browser("").Page("").WebElement("WebTable").Output CheckPoint("WebTable")
作者: lcyu888    时间: 2009-3-2 10:06
标题: 回复 3# 的帖子
是固定的,前面是业务编号,后面是操作员,这几个字是固定的
作者: lcyu888    时间: 2009-3-2 11:44
标题: 谢谢大家,取到值了
谢谢大家,取到值了
Browser("欢迎使用进出口银行新一代信贷管理系统").Page("欢迎使用进出口银行新一代信贷管理系统_2").Frame("Frame_5").Output CheckPoint("Frame_2")
msgbox DataTable.GetSheet("Action1").GetParameter("values")




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