51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1790|回复: 6
打印 上一主题 下一主题

[原创] 请教各位高手关于引入vbs的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-17 14:39:18 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
问题是这样的:
Private Function QTP_WriteFile(words)
        Dim fileSystemObj,fileSpec,logFile
        Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
        fileSpec = "C:\" &"测试报告QTP"& ".txt"
        Set logFile = fileSystemObj.OpenTextFile(fileSpec, 8, true)
        logFile.WriteLine (CStr(words))
       
        logFile.Close
        Set logFile = Nothing
End Function

QTP_WriteFile("ddd")

以上这段代码我在QTP下输入并且运行是正确的,并且能写入文件

但是我把
Private Sub QTP_WriteFile(words)
        Dim fileSystemObj,fileSpec,logFile
        Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
        fileSpec = "C:\" &"测试报告QTP"& ".txt"
        Set logFile = fileSystemObj.OpenTextFile(fileSpec, 8, true)
        logFile.WriteLine (CStr(words))
       
        logFile.Close
        Set logFile = Nothing
End Sub
这个函数写到了外部的vbs文件
再在QTP中引入vbs文件,
在QTP中执行:  QTP_WriteFile("ddd")
竟然报错“类型不匹配:QTP_WriteFile”

郁闷啊~~老半天找不到为什么,请各位高手帮忙啊
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2016-2-27 08:48
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]测试小兵

    7#
    发表于 2007-8-18 22:27:37 | 只看该作者
    谢谢yuandjing 共享了自己写的随机函数,这个的确比原来的函数好用多了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
     楼主| 发表于 2007-8-17 15:35:52 | 只看该作者
    呵呵,最近想把QTP和ROBOT常用的函数都写成自己的vbs文件,以后就可以方便调用了
    觉得QTP生成的随机函数不够随机
    哈哈
    我自己写了个
    '随机函数生成
    '输入值:生成值范围 i~j
    '返回值:随机数
    Public Function Get_RandNum(fromNum,toNum)
            Dim RunTime
            Randomize   
            RunTime = Int((10 * Rnd) + 1)
            Dim MyValue,i
            For i = 1 To RunTime
                    Randomize  
                    MyValue = Int(((toNum) * Rnd) + (fromNum))
            Next
       Get_randNum=Myvalue
    End Function
    哈哈,这样就随机很多了
    嗯嗯,继续去写了,谢谢各位帮助
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-8-17 15:12:11 | 只看该作者
    恩,上面说的是正确的
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2007-8-17 14:59:34 | 只看该作者
    俄~~我晕了,唉,下午昏昏沉沉的,谢谢大家了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2007-8-17 14:48:21 | 只看该作者
    原帖由 yuandjing 于 2007-8-17 14:39 发表
    问题是这样的:
    Private Function QTP_WriteFile(words)
            Dim fileSystemObj,fileSpec,logFile
            Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
            fileSpec = "C:\" &"测试报告QTP"& ".tx ...



    Privatesdlkfj3
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    2#
    发表于 2007-8-17 14:46:51 | 只看该作者
    原帖由 yuandjing 于 2007-8-17 14:39 发表
    问题是这样的:
    Private Function QTP_WriteFile(words)
            Dim fileSystemObj,fileSpec,logFile
            Set fileSystemObj = CreateObject("Scripting.FileSystemObject")
            fileSpec = "C:\" &"测试报告QTP"& ".tx ...

    如果你从Test -> Settings中引用这个VBS文件,就会失败。因为在VBS里面声明函数用了Private,这是私有类型。那个函数将不能被外部调用,正确的应该是Public。

    如果用ExecuteFile方式引入这个VBS文件就不会有问题了。比如:
    ExecuteFile "C:\" & "***.vbs"
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 14:04 , Processed in 0.074435 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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