51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

[求助] QTP -函数返回值为空

[复制链接]

该用户从未签到

跳转到指定楼层
#
发表于 2012-3-27 16:47:08 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
3测试积点
本帖最后由 yanyouqing 于 2012-3-28 08:49 编辑

Dim strList
     strList=DotnetFactory.CreateInstance("System.Collections.ArrayList")
     strList= Checked_CheckBox

Function Checked_CheckBox()
Dim rows,columns,row_count,objCheckBox
Dim myList
Set myList = DotnetFactory.CreateInstance("System.Collections.ArrayList")'调用DotnetFactory穿件一个ArrayList实例
row_count=Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").RowCount'获取webtable的总行数
columns=7'checkbox所在列
rows=RandomNumber(1,row_count)
   If rows=1 Then'如果rows=1,循环webtable将标题全部添加到myList中
       For i=1 to row_count
         myList.Add(Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").GetCellData(i,2))
       Next
       Checked_CheckBox=myList
   Else
         myList.Add(Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").GetCellData(rows,2))'获取webtable中指定行和列的文本字符串
         Checked_CheckBox=myList
   End If
  Set  objCheckBox=Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").ChildItem(rows,columns,"WebCheckBox",0)'获取指定行和列上的webcheckbox
  objCheckBox.Set "ON"'随机勾选checkbox
End Function


为什么strList= Checked_CheckBox,strList老是空值?

最佳答案

查看完整内容

本帖最后由 yanyouqing 于 2012-3-28 08:49 编辑 Dim strList set strList=DotnetFactory.CreateInstance("System.Collections.ArrayList") '这句多余了 set strList= Checked_CheckBox print strList.item(i) Function Checked_CheckBox() Dim rows,columns,row_count,objCheckBox Dim myList Set myList = DotnetFactory.CreateInstance("System.Collections.ArrayList")'调用DotnetFactory穿件 ...
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

8#
发表于 2012-3-28 10:31:29 | 只看该作者
没做过.net

普通数组打印其中元素的方法是:

for i=0 to Ubound(arry)

  print arry(i)

next

看起来楼主创建的是个数组列表对象,其中应该有暴漏出来的方法或属性

如果把 myList 对象从函数返回

需要在函数内也用SET

set Checked_CheckBox=myList

相当于返回了这个对象的引用,有了这个引用句柄 就可以通过它在内存中找到此对象实例中暴漏的方法或属性了!
回复

使用道具 举报

  • TA的每日心情
    无聊
    2018-9-27 10:05
  • 签到天数: 36 天

    连续签到: 1 天

    [LV.5]测试团长

    7#
    发表于 2012-3-28 09:49:07 | 只看该作者
    Checked_CheckBox=myList改为myList.copyto(Checked_CheckBox)试试呢?
    回复

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2012-3-28 09:47:56 | 只看该作者
    strList=DotnetFactory.CreateInstance("System.Collections.ArrayList")
         strList= Checked_CheckBox ...
    luchao215225 发表于 2012-3-27 17:46



        问题已经解决了,你说的少了set是其中一个问题。还存在另一个问题,我用
    Set  strList=DotnetFactory.CreateInstance("System.Collections.ArrayList") 申明一个数组,然后接收返回的值我想把值用print strList.Item(i)打印出来,它报找不到Item方法。
    回复

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2012-3-28 08:50:40 | 只看该作者
    两句Checked_CheckBox=temp_str之前都没对temp_str赋值
    mimmy 发表于 2012-3-27 18:37



        不好意思,temp_str是之前调试用的临时变量,我需要返回myList。
    回复

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-3-27 18:37:24 | 只看该作者
    两句Checked_CheckBox=temp_str之前都没对temp_str赋值
    回复

    使用道具 举报

    该用户从未签到

    3#
    发表于 2012-3-27 17:54:31 | 只看该作者
    myList.Add(Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").GetCellData(rows,2))'获取webtable中指定行和列的文本字符串
                    Checked_CheckBox=temp_str


    另问下 temp_str 值是多少?没看到有赋值啊.
    回复

    使用道具 举报

    该用户从未签到

    2#
    发表于 2012-3-27 17:46:00 | 只看该作者
    strList=DotnetFactory.CreateInstance("System.Collections.ArrayList")
         strList= Checked_CheckBox

    set      strList=DotnetFactory.CreateInstance("System.Collections.ArrayList"),应该是少了set
    回复

    使用道具 举报

    该用户从未签到

    1#
    发表于 2012-3-27 16:47:09 | 只看该作者
    本帖最后由 yanyouqing 于 2012-3-28 08:49 编辑

    Dim strList

        set  strList=DotnetFactory.CreateInstance("System.Collections.ArrayList")  '这句多余了
        set  strList= Checked_CheckBox

       print strList.item(i)

    Function Checked_CheckBox()
    Dim rows,columns,row_count,objCheckBox
    Dim myList
    Set myList = DotnetFactory.CreateInstance("System.Collections.ArrayList")'调用DotnetFactory穿件一个ArrayList实例
    row_count=Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").RowCount'获取webtable的总行数
    columns=7'checkbox所在列
    rows=RandomNumber(1,row_count)
       If rows=1 Then'如果rows=1,循环webtable将标题全部添加到myList中
           For i=1 to row_count
             myList.Add(Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").GetCellData(i,2))
           Next
          set Checked_CheckBox=myList
       Else
             myList.Add(Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").GetCellData(rows,2))'获取webtable中指定行和列的文本字符串
            set Checked_CheckBox=myList
       End If
      Set  objCheckBox=Browser("呼叫中心").Page("呼叫中心").Frame("_workspaceMain").WebTable("序号").ChildItem(rows,columns,"WebCheckBox",0)'获取指定行和列上的webcheckbox
      objCheckBox.Set "ON"'随机勾选checkbox
    End Function
    回复

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-7 11:28 , Processed in 0.076001 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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