通过vbScript执行UFT API测试

时间:2016-06-16 16:44:07

标签: vbscript automated-tests qtp hp-uft

我正在尝试通过基于Automation Object Model的vbscript文件运行我的API测试。我能够启动,打开和运行我的GUI测试,但是对于API测试,我得到一个错误"无法打开测试"代码:800A03EE。 我在某处读过我的测试用例可能已损坏,所以我将测试保存为新测试但仍然无效。

以下是我的vbscript:

testPath = "absolute address to my API-test folder"
Set objUFTapp = CreateObject("QuickTest.Application")
objUFTapp.Launch
objUFTapp.Visible = TRUE
objUFTapp.Open testPath, TRUE     '------> throws the error
Set pDefColl = qtApp.Test.ParameterDefinitions
Set rtParams = pDefColl.GetParameters()
Set rtParam = rtParams.Item("param1")
rtParam.Value = "value1"

objUFTapp.Test.Run uftResultsOpt,True, rtParams 

objUFTapp.Test.Close
objUFTapp.Quit

2 个答案:

答案 0 :(得分:1)

由于某些未知原因,我也面临着类似的问题 作为一种解决方法,我创建了一个GUI测试,我从中调用API测试:

RunAPITest "API_Test_Name"  

这样做:

1。创建新的GUI测试
2。转到 Design - >的 Call to existing API test
3。 Test path 中提供API测试的路径 4。 <Entire Test> 选择 Call to 5. 您可以在此屏幕中传递任何 Input Output 参数
5. 点击“确定”

现在,您可以使用自己的VBScript来调用此GUI测试,该测试将运行您所需的API测试。

我知道这样做并不是一个好主意,但它会完成工作。

答案 1 :(得分:0)

到UFT安装时,我们可以选择其他自动化工具LeanFT

作为LeanFT的主要特性,我们可以将测试环境放在我们的开发环境旁边,无论是Java(Eclipse)还是C#.net(Visual Studio)。此外,我们还提供了一个对象识别工具(GUI间谍),它使得不再在VBScript中开发GUI测试成为可能,而是在最强大的现代语言之一(Java或C#)中。通过这个非常简短的总结,让我们看看我们如何在UFT IDE之外执行API测试。 成功安装LeanFT工具后,我们可以在Eclipse或Visual Studio中创建LeanFT项目。 Create a new LeanFT project

C#代码:

using HP.LFT.SDK;
using HP.LFT.SDK.APITesting.UFT;

......
[TestMethod]
public void TestMethod1()
    {
        Dictionary<string, object> InputParameters = new Dictionary<string, object>();
        InputParameters.Add("environment", "TEST");
        APITestResult ExecutionResult = APITestRunner.Run("UFT Test Path" , InputParameters);
        MessageBox.Show(ExecutionResult.Status.ToString());
.....
}

当然,上面的代码只是为了给你一个见解,虽然它工作得很好。为了更好的诊断,我们可以利用其他图书馆,例如&#34; HP.LFT.Verifications&#34;用于检查结果 重要提示:您不能在运行时引擎的同时使用UFT和LeanFT!