【问题标题】:Relative path for external actions in QTP test is not working with QCQTP 测试中外部操作的相对路径不适用于 QC
【发布时间】:2011-11-17 13:32:40
【问题描述】:

在我的一个 QTP 测试中,我从同一文件夹中的其他测试调用了一个外部操作,并提供了相对路径,即在调用时仅提供测试名称(以下示例中的 Test1

当我将这两个测试保存到公共文件夹下测试计划中的 QC 时,我看到 Test2 中的外部操作附加了“缺失”。当我在 QTP 中打开此测试时,缺少资源。我还删除了外部操作并将Run > Options > Folder 中的文件夹路径重置为 QC 路径,再次插入从 QC 中选择的外部操作。 这个问题仍然存在。如果有人知道如何解决此问题,请帮助我。

ParentFolder
    Test1
       ReusableAction1.1
       ReusableAction1.2
    Test2
       ReusableAction2.1
       ReusableAction1.1{Test1}  ["Test1" - I used. Not "...\Test1"]

【问题讨论】:

    标签: qtp


    【解决方案1】:

    相对路径通常用于参考当前执行目录。

    从本地运行时,当前目录是存储脚本的文件夹或临时文件夹。但是当脚本从 QC 运行时,当前执行目录是一个文件夹(类似于 C:\\Temp\HP\TD####\),每次运行都会改变。

    您可以通过FileSystem对象或WSH对象或QTP的环境变量查看当前执行目录。

    VBScript 的 FileSystem 对象:
    设置 oFSO = CreateObject("Scripting.FilseSystemObject")
    Msgbox "当前执行目录是-" & oFSO.GetAbsolutePathName(".")

    WSH方法:
    设置 objShell = CreateObject("Wscript.Shell")
    Wscript.Echo objShell.CurrentDirectory

    QTP 的环境变量:
    Current_Directory = Environment.Value ("TestDir")

    我没有看到任何其他导致相对路径不起作用的原因。

    如果您有令人信服的理由从本地和 QC 运行脚本并且必须使用相对路径,您可以检查 QC 连接,如果连接到 QC,请使用 QC 测试资源中的绝对路径。

    设置 qtApp = CreateObject(“QuickTest.Application”)
    If qtApp.TDConnection.IsConnected Then
    ' 使用 QC 测试资源路径
    其他
    ' 使用(相对)本地路径
    结束如果
    设置 qtApp = Nothing

    如果 QTP 连接到 QC,QCUtil.IsConnected 也将返回 True(连接表示已登录并连接到有效项目)。

    【讨论】:

      猜你喜欢
      • 2012-08-29
      • 2011-07-12
      • 1970-01-01
      • 2014-10-02
      • 2019-10-21
      • 1970-01-01
      • 2015-05-14
      • 2017-06-01
      • 1970-01-01
      相关资源
      最近更新 更多