51Testing软件测试论坛

标题: 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢! [打印本页]

作者: L.E.O    时间: 2010-3-18 23:55
标题: 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!
现在想做一个WEB页面的测试
以下面的图为模板说说我想要达到的要求吧!

1、进入到这个页面以后,我要抓指定的标题名(怎么在检查点检查的内容不存在时,让测试报告中显示测试通过)中的(by 161958807)这个值出来。并输出。。。

2、问题:
   (1)、因为随着帖子的增加,标题(怎么在检查点检查的内容不存在时,让测试报告中显示测试通过)就会下沉到下面(先不考虑下沉到第二页),这个应该要怎么弄才能准确定位到这个标题名呢?
   (2)、随着回帖的人不断增多那么(by 161958807)这个值也会改变,这个又怎么弄才能准确定位到这个值并输出呢?

3、关于第二个个人觉得只要把问题1中的问题解决了应该就可以很轻松解决第二个问题了吧!

关于这个测试的脚本到现在都还没研究出来、麻烦高手出来指点一下吧!!比较急、关系到前途命运。。麻烦大家帮个忙吧!!谢谢了!!!

因为刚接触到QTP所以还是有很多不懂、请大家多多赐教。。。
作者: zzxxbb112    时间: 2010-3-19 09:59
先把这个webtable对象取下来,然后调式下是这两列你需要的元素分别是在第几列
然后获取所有行数,进行遍历,遍历中并进行判断如果找到这个标题就获取对应行数的那列数据

具体方法可以F1 webtable
作者: xiaoyaoke    时间: 2010-3-19 10:31
标题: 截了个图,楼主可以看看
我是用Firebug截图,楼主需要的信息基本可以从中找到
[attach]60502[/attach]
作者: feiyunkai    时间: 2010-3-19 10:42
标题: 因为数据为多页时,QTP只能一页一页判断,效率特别低,所以建议直接连数据库取数据
以下代码实现了在所有页获取标题为: [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢! 的最后回复人的名字和回复时间
For j=1 to 10000
        rowcount=Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").webtable("name:=folder_common").RowCount

For i=1 to rowcount
text=Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").webtable("name:=folder_common").GetCellData(i,3)

If text="  [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!  "  then               
                        print( Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").webtable("name:=folder_common").GetCellData(i,6))
End If

Next

If  Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").Link("››").Exist Then
                Browser("[QuickTest Pro] - 51Testing软件测").Page("[QuickTest Pro] - 51Testing软件测").Link("››").Click
                else
                Exit for
End If

Next

[ 本帖最后由 feiyunkai 于 2010-3-19 14:14 编辑 ]
作者: feiyunkai    时间: 2010-3-19 10:55
标题: 数据库中取数据
假设数据库中存放标题的字段为:title,存放最后回复人的字段为:user_re则:

set conn = CreateObject("ADODB.Connection")   '创建连接
conn.C '设置连接字符串     
conn.open '开启连接
If conn.state = 0 Then   '如果连接状态为0,表示连接失败,否则表示连接成功
    Reporter.ReportEvent micFail,"测试连接","连接失败"
else
   Reporter.ReportEvent micPass,"测试连接","连接成功"
Set yuju=CreateObject("ADODB.Recordset")         '创建记录对象
Do
sql="select user_re from info where title='  [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!  '  
yuju.open sql,Conn,1,3                                                                  
print(yuju("user_re"))                                                         
yuju.movenext  
End If
loop until yuju.eof=true '到达最后一条,停止循环
next
这样就可以显示所有名称为  [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!  的最后回复人和回复时间了
如果想使用变量则把sql="select user_re from info where title='  [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!  '  
修改为:
title="  [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!  "
sql="select user_re from info where title='"+title+"'

[ 本帖最后由 feiyunkai 于 2010-3-19 11:00 编辑 ]
作者: feiyunkai    时间: 2010-3-19 11:01
原帖由 feiyunkai 于 2010-3-19 10:55 发表
假设数据库中存放标题的字段为:title,存放最后回复人的字段为:user_re则:

set conn = CreateObject("ADODB.Connection")   '创建连接
conn.C '设置连接字符串     
conn.open '开启连接
If conn.state =  ...

conn.C '设置连接字符串   的代码没显示出来,完整代码见附件

[ 本帖最后由 feiyunkai 于 2010-3-19 11:04 编辑 ]
作者: zhengpeipei    时间: 2010-3-19 13:13
路过
作者: L.E.O    时间: 2010-3-19 17:36
真诚的感谢feiyunkai网友!!

谢谢!!
作者: L.E.O    时间: 2010-3-20 00:15
原帖由 feiyunkai 于 2010-3-19 10:42 发表
以下代码实现了在所有页获取标题为: [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢! 的最后回复人的名字和回复时间
For j=1 to 10000
        rowcount=Browser("[QuickTest Pro] - 51Testing软件测 ...


请问feiyunkai

我在录制的时候出现这个错误、应该怎么解决?

我现在是以51testing论坛的这个网页在测试。。。
作者: sean007    时间: 2010-3-20 11:18
  Good !  收下 ~ 那如果 要进行两次的 SQL 使用 如何 使用 ?
作者: feiyunkai    时间: 2010-3-22 13:35
原帖由 L.E.O 于 2010-3-20 00:15 发表


请问feiyunkai

我在录制的时候出现这个错误、应该怎么解决?

我现在是以51testing论坛的这个网页在测试。。。


因为你没有把对象添加到对象库,所以会报错,打开QTP,按CTRL+R,点击+号按钮,把对应的对象添加到对象库就可以了
将求助中的任一贴子加到对象库,再将>>翻页控件添加到对象库就可以了

另外一种方法是使用描述性编程,但是由于描述性编程原理是通过页面属性去查找对应的对象,所以页面元素特别多或页面结构比较复杂的时候,效率会特别低,所以本脚本中不建议使用描述性编程
作者: feiyunkai    时间: 2010-3-22 13:37
原帖由 sean007 于 2010-3-20 11:18 发表
  Good !  收下 ~ 那如果 要进行两次的 SQL 使用 如何 使用 ?


可以把上面的脚本封装成函数,将SQL语句等信息以参数形式传入,这样在用到SQL连接的时候直接调用该函数就可以了
作者: L.E.O    时间: 2010-3-22 22:00
我再试试看




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