51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

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

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 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空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 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
回复

使用道具 举报

该用户从未签到

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

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

使用道具 举报

该用户从未签到

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


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

使用道具 举报

该用户从未签到

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

使用道具 举报

该用户从未签到

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



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

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 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方法。
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.5]测试团长

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

    使用道具 举报

    该用户从未签到

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

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

    for i=0 to Ubound(arry)

      print arry(i)

    next

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

    如果把 myList 对象从函数返回

    需要在函数内也用SET

    set Checked_CheckBox=myList

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-18 07:35 , Processed in 0.079104 second(s), 27 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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