再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!
现在想做一个WEB页面的测试以下面的图为模板说说我想要达到的要求吧!
1、进入到这个页面以后,我要抓指定的标题名(怎么在检查点检查的内容不存在时,让测试报告中显示测试通过)中的(by 161958807)这个值出来。并输出。。。
2、问题:
(1)、因为随着帖子的增加,标题(怎么在检查点检查的内容不存在时,让测试报告中显示测试通过)就会下沉到下面(先不考虑下沉到第二页),这个应该要怎么弄才能准确定位到这个标题名呢?
(2)、随着回帖的人不断增多那么(by 161958807)这个值也会改变,这个又怎么弄才能准确定位到这个值并输出呢?
3、关于第二个个人觉得只要把问题1中的问题解决了应该就可以很轻松解决第二个问题了吧!
关于这个测试的脚本到现在都还没研究出来、麻烦高手出来指点一下吧!!比较急、关系到前途命运。。麻烦大家帮个忙吧!!谢谢了!!!
因为刚接触到QTP所以还是有很多不懂、请大家多多赐教。。。 先把这个webtable对象取下来,然后调式下是这两列你需要的元素分别是在第几列
然后获取所有行数,进行遍历,遍历中并进行判断如果找到这个标题就获取对应行数的那列数据
具体方法可以F1 webtable
截了个图,楼主可以看看
我是用Firebug截图,楼主需要的信息基本可以从中找到因为数据为多页时,QTP只能一页一页判断,效率特别低,所以建议直接连数据库取数据
以下代码实现了在所有页获取标题为: [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢! 的最后回复人的名字和回复时间For j=1 to 10000
rowcount=Browser(" - 51Testing软件测").Page(" - 51Testing软件测").webtable("name:=folder_common").RowCount
For i=1 to rowcount
text=Browser(" - 51Testing软件测").Page(" - 51Testing软件测").webtable("name:=folder_common").GetCellData(i,3)
If text="[求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢!"then
print( Browser(" - 51Testing软件测").Page(" - 51Testing软件测").webtable("name:=folder_common").GetCellData(i,6))
End If
Next
IfBrowser(" - 51Testing软件测").Page(" - 51Testing软件测").Link("››").Exist Then
Browser(" - 51Testing软件测").Page(" - 51Testing软件测").Link("››").Click
else
Exit for
End If
Next
[ 本帖最后由 feiyunkai 于 2010-3-19 14:14 编辑 ]
数据库中取数据
假设数据库中存放标题的字段为: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 10:55 发表 http://bbs.51testing.com/images/common/back.gif
假设数据库中存放标题的字段为:title,存放最后回复人的字段为:user_re则:
set conn = CreateObject("ADODB.Connection") '创建连接
conn.C '设置连接字符串
conn.open '开启连接
If conn.state =...
conn.C '设置连接字符串 的代码没显示出来,完整代码见附件
[ 本帖最后由 feiyunkai 于 2010-3-19 11:04 编辑 ] 路过 真诚的感谢feiyunkai网友!!
谢谢!! 原帖由 feiyunkai 于 2010-3-19 10:42 发表 http://bbs.51testing.com/images/common/back.gif
以下代码实现了在所有页获取标题为: [求助] 再次前来求助论坛的高手!希望大家能鼎力相助、谢谢! 的最后回复人的名字和回复时间
For j=1 to 10000
rowcount=Browser(" - 51Testing软件测 ...
请问feiyunkai
我在录制的时候出现这个错误、应该怎么解决?
我现在是以51testing论坛的这个网页在测试。。。 :lolGood !收下 ~ 那如果 要进行两次的 SQL 使用 如何 使用 ? 原帖由 L.E.O 于 2010-3-20 00:15 发表 http://bbs.51testing.com/images/common/back.gif
请问feiyunkai
我在录制的时候出现这个错误、应该怎么解决?
我现在是以51testing论坛的这个网页在测试。。。
因为你没有把对象添加到对象库,所以会报错,打开QTP,按CTRL+R,点击+号按钮,把对应的对象添加到对象库就可以了
将求助中的任一贴子加到对象库,再将>>翻页控件添加到对象库就可以了
另外一种方法是使用描述性编程,但是由于描述性编程原理是通过页面属性去查找对应的对象,所以页面元素特别多或页面结构比较复杂的时候,效率会特别低,所以本脚本中不建议使用描述性编程 原帖由 sean007 于 2010-3-20 11:18 发表 http://bbs.51testing.com/images/common/back.gif
:lolGood !收下 ~ 那如果 要进行两次的 SQL 使用 如何 使用 ?
可以把上面的脚本封装成函数,将SQL语句等信息以参数形式传入,这样在用到SQL连接的时候直接调用该函数就可以了 我再试试看
页:
[1]