51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2128|回复: 8
打印 上一主题 下一主题

[原创] 帮忙看一下脚本,如何才能查询成功

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-5-8 18:33:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
脚本如下:
查询出记录数为:78条,

Browser("测试登录").Page("办公自动化系统").Frame("mainFrame").WebEdit("oaReceiveBumf.bumfName").Set "收文测试"
Browser("测试登录").Page("办公自动化系统").Frame("mainFrame").Image("btn_cx_on").FireEvent "onmouseover"
Browser("测试登录").Page("办公自动化系统").Frame("mainFrame").Image("btn_cx_on").Click
Browser("测试登录").Page("办公自动化系统").Frame("mainFrame").Output CheckPoint("78")
Dim mm
mm=DataTable.GlobalSheet.GetParameter("mainFrameOutput_Text_out").Value   //从datatable中取值是这么取的吗?

Dim res,cmd,sql
Set res=createobject("adodb.recordset")
Set Cmd=createobject("adodb.command")
Cmd.activeconnection="DRIVER={Oracle in OraHome92};SERVER=HKORACLE;UID=USER_ZJLH;PWD=ZJLH;DBQ=HKORACLE;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;BTD=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=Me;CSR=F;FWC=F;FBS=60000;TLO=O;"
Cmd.CommandType = 1
sql="select count(*) from oa_receivebumf  where BUMFNAME like'%收文测试%'"    //直接在数据库中查询出来也是78条记录,sql语句正确的
Cmd.CommandText = sql
Set res = Cmd.Execute()


if  sql=mm Then
    Reporter.ReportEvent micPass, "test",   "查询成功"
         else
    Reporter.ReportEvent micfail, "test",   "查询失败"              //每次执行都是提示查询失败,不知道问题出现在哪
End If

Set res = nothing
Set cmd.ActiveConnection = nothing
Set Cmd= nothing

[ 本帖最后由 linvsfen00 于 2007-5-9 10:42 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-5-8 19:24:31 | 只看该作者
你可以打出来看看取的值是不是对啊

mm=DataTable("mainFrameOutput_Text_out", dtGlobalSheet)
MsgBox mm
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-5-8 21:01:33 | 只看该作者
sql=mm?
"select count(*) from oa_receivebumf  where BUMFNAME like'%收文测试%'" =78?
是不是应该写成 res(0)=mm?

[ 本帖最后由 dcyan 于 2007-5-8 21:05 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-5-9 09:28:33 | 只看该作者

谢谢楼上二位,我试试

非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-5-9 09:31:57 | 只看该作者

二楼,谢谢

mm=DataTable("mainFrameOutput_Text_out", dtGlobalSheet)
MsgBox mm
打印出来是78条记录

还有就是
mm=DataTable.GlobalSheet.GetParameter("mainFrameOutput_Text_out").Value
MsgBox mm   //打印出来也是78条记录

mm=DataTable("mainFrameOutput_Text_out", dtGlobalSheet)和mm=DataTable.GlobalSheet.GetParameter("mainFrameOutput_Text_out").Value取的值是一样的,谢谢

[ 本帖最后由 linvsfen00 于 2007-5-9 09:52 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-5-9 09:34:23 | 只看该作者

这么执行还是查询失败

谢谢三楼
"select count(*) from oa_receivebumf  where BUMFNAME like'%收文测试%'" =78?  是的,查询出是78条记录
res(0)=mm,修改成这语句还是查询失败

[ 本帖最后由 linvsfen00 于 2007-5-9 13:31 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-5-9 09:37:43 | 只看该作者

打印该语句是也是78条记录

MsgBox res(0),打印该语句是也是78条记录

是不是下面的if语句写得有问题?
MsgBox res(0)
if   res(0)=mm Then
     Reporter.ReportEvent micPass, "test",   "查询成功"    //如果执行   if res(0)=78 and mm=78  Then语句时就提示查询成功
     else
    Reporter.ReportEvent micfail, "test",   "查询失败"
End If


如果执行   if res(0)=78 and mm=78  Then语句时就提示查询成功,那为什么执行   if   res(0)=mm Then 时会提示失败???

如果需要两个值进行比较,相等的话就提示成功,不相等时提示失败,脚本如何编辑?谢谢

[ 本帖最后由 linvsfen00 于 2007-5-9 10:33 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-5-9 10:26:23 | 只看该作者

回复 #7 linvsfen00 的帖子

可能取出来的两个值不是同一个类型,所以用等号直接比较的时候有问题,可以试试 用Cstr 把两个值都转换成string然后比较看看
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-5-9 10:39:47 | 只看该作者

回复 #8 zoeHuang 的帖子

谢谢zoeHuang的回答,转换成  
if   Cstr(res(0)) = Cstr(mm)Then
后,执行通过。问题解决。sdlkfj3
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 23:54 , Processed in 0.071609 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表