QTP使用公共函数 - 在Test中设置文件路径

时间:2014-09-12 14:10:15

标签: qtp hp-uft

所以我使用的是扫描文本文档的公共函数。因为我要扫描多个文档,所以我想在测试中定义实际的文件路径和文件名,并调用公共函数。

以下是我的设置:

Public Function TextFind

    Dim fso, textFile, rgxp, Regexp, contents, matches,VariableFilePath

    Const ForReading = 1
    Set fso = CreateObject( "Scripting.FileSystemObject" )
    Set textFile = fso.OpenTextFile(VariableFilePath(), ForReading )
    contents = textFile.ReadAll
    textFile.Close

    Set rgxp = New Regexp
    rgxp.Pattern = chr(34) & "Test Testing Tested" & chr(34)
    rgxp.IgnoreCase = False
    rgxp.Global = True
    Set matches = rgxp.Execute( contents )
    If matches.Count = 500 Then
        Print "Test Testing Tested: " & matches.Count
    End If

End Function

以下是我试图发出的电话:

Option Explicit

Dim VariableFilePath
VariableFilePath = "C:\Users\ME\Documents\Testing\G1.txt"

Call TextFind

当我拨打电话时,我收到有关公共功能库中与VariableFilePath类型不匹配的错误。我该如何解决?注意:使用QTP 11.0。

谢谢!

1 个答案:

答案 0 :(得分:0)

首先改变这个:

Set textFile = fso.OpenTextFile(VariableFilePath(), ForReading )

致:

Set textFile = fso.OpenTextFile(VariableFilePath, ForReading )

VariableFilePath是字符串 - 不是函数。并将VariableFilePath作为参数传递给TextFind。

编辑:丢弃TextFind函数中的VariableFilePath声明

嗯......没有上课的公共职能?