51Testing软件测试论坛

标题: 调用函数失败 [打印本页]

作者: marygao929    时间: 2007-11-12 13:07
标题: 调用函数失败
写了一个函数,用来找到webtable中第3列的值是test1的行号,然后勾选该行前面的复选框, 然后调用该函数,可是执行后,并没有勾选任何复选框。但是不用函数,却可以勾选到要找的复选框。请各位帮忙看看。
Function  findtext(text)
Dim  i,rows,pages,m,page
set objs=Browser("NYBOSS系统登陆").Page("NYBOSS系统").Frame("result_6").WebTable("产品编码")
rows=Browser("NYBOSS系统登陆").Page("NYBOSS系统").Frame("result_6").WebTable("产品编码").rowcount
page=Browser("NYBOSS系统登陆").Page("NYBOSS系统").Frame("result_6").WebTable("1页/2页 共39条").GetROProperty("innertext")
pages=Cint(mid(page,11,1))
For m=1 to pages
      For i=1 to rows
         If  trim(objs.getcelldata(i,3))= "text"  then   
                Browser("NYBOSS系统登陆").Page("NYBOSS系统").Frame("result_6").WebCheckBox("index:="&i-1).Set "ON"
            Exit for
       end if
       Next
Next
End Function
然后在脚本中调用该函数:  findtext("test1"),执行完这步后,并未勾选任何复选框;
但是如果函数里的text不用参数表示,直接把test1写到函数里面,改为:If  trim(objs.getcelldata(i,3))= "test1"  then,
然后调用函数时写为: findtext(), 这样却可以勾选上要找的复选框。不知什么原因?

[ 本帖最后由 marygao929 于 2007-11-12 13:09 编辑 ]
作者: walker1020    时间: 2007-11-12 13:25
Replace  trim(objs.getcelldata(i,3))= "text"  with trim(objs.getcelldata(i,3))= text first and then try it again
作者: walker1020    时间: 2007-11-12 14:00
楼主可以把下面的代码直接复制到 QTP 的 Expert View里面,然后运行:

Function   find(text)
      a = "2"
   If   a = "text"  Then
       Msgbox(" 1")
   Else
     Msgbox("2")
   End If
End Function

find("2")
==================================
运行 find("2")  后,输出结果是  2
作者: walker1020    时间: 2007-11-12 14:01
楼主可以把下面的代码直接复制到 QTP 的 Expert View里面,然后运行:

Function   find(text)
      a = "2"
   If   a = text Then
       Msgbox(" 1")
   Else
     Msgbox("2")
   End If
End Function

find("2")
==================================
运行 find("2")  后,输出结果是  1

[ 本帖最后由 walker1020 于 2007-11-12 14:23 编辑 ]
作者: danmy    时间: 2007-11-12 14:48
你这个函数中,text是参数,不需要加引号
另外没有翻页的操作,如果出现在第2页也还是勾不上
作者: danmy    时间: 2007-11-12 14:54
还有
Browser("NYBOSS系统登陆").Page("NYBOSS系统").Frame("result_6").WebCheckBox("index:="&i-1).Set "ON"

这样的方式很不好
最好用
set chkBx=objs.childitem(i,3,"WebCheckBox",0)
chkBx.set "ON"
作者: marygao929    时间: 2007-11-12 18:21
改了:1)set obj= Browser("NYBOSS系统登陆").Page("NYBOSS系统").Frame("result_6").WebCheckBox("index:="&i-1)
           obj.Set "ON"
2)If  trim(objs.getcelldata(i,3))=text then
最后还是用findtext("test1")对了
多谢两位

[ 本帖最后由 marygao929 于 2007-11-12 18:27 编辑 ]
作者: walker1020    时间: 2007-11-12 21:14
建议楼主去做一段时间的开发,这样有许多问题就会避免了




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