UFT API-通过 vbScript 测试执行
UFT API-test execution via vbScript
我正在尝试 运行 我的 API 通过基于自动化对象模型的 vbscript 文件进行测试。我能够启动、打开和 运行 我的 GUI 测试,但对于 API 测试,我收到错误 "cannot open test" 代码: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
不知什么原因,我也遇到了类似的问题。
作为一种解决方法,我创建了一个 GUI 测试,我从中调用 API 测试,如下所示:
RunAPITest "API_Test_Name"
这样做:
1. 创建新的 GUI 测试
2.转到Design
-> Call to existing API test
3. 在 Test path
中提供 API 测试的路径
4. Select <Entire Test>
对于 Call to
5. 您可以从这里传递任何 Input
或 Output
参数屏幕
5. 点击确定
现在,您可以使用自己的 VBScript 调用此 GUI 测试,这将 运行 您想要的 API 测试。
我知道这样做不是个好主意,但它会完成工作。
在安装 UFT 时,我们可以选择一个额外的自动化工具,LeanFT。
作为 LeanFT 的主要特征,我们可以在 Java(Eclipse) 或 C#.net(Visual Studio) 中的开发环境旁边拥有测试环境。我们还提供了一个对象识别工具(GUI spy),它使得开发 GUI 测试成为可能,不再使用 VBScript,而是使用最强大的现代语言之一(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());
.....
}
当然上面的代码只是为了给你一个洞察力,尽管它工作得很好。为了更好地诊断,我们可以利用 "HP.LFT.Verifications" 等其他库来检查结果
重要提示:您不能同时使用 UFT 和 LeanFT 作为运行时引擎!
我正在尝试 运行 我的 API 通过基于自动化对象模型的 vbscript 文件进行测试。我能够启动、打开和 运行 我的 GUI 测试,但对于 API 测试,我收到错误 "cannot open test" 代码: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
不知什么原因,我也遇到了类似的问题。
作为一种解决方法,我创建了一个 GUI 测试,我从中调用 API 测试,如下所示:
RunAPITest "API_Test_Name"
这样做:
1. 创建新的 GUI 测试
2.转到Design
-> Call to existing API test
3. 在 Test path
中提供 API 测试的路径
4. Select <Entire Test>
对于 Call to
5. 您可以从这里传递任何 Input
或 Output
参数屏幕
5. 点击确定
现在,您可以使用自己的 VBScript 调用此 GUI 测试,这将 运行 您想要的 API 测试。
我知道这样做不是个好主意,但它会完成工作。
在安装 UFT 时,我们可以选择一个额外的自动化工具,LeanFT。
作为 LeanFT 的主要特征,我们可以在 Java(Eclipse) 或 C#.net(Visual Studio) 中的开发环境旁边拥有测试环境。我们还提供了一个对象识别工具(GUI spy),它使得开发 GUI 测试成为可能,不再使用 VBScript,而是使用最强大的现代语言之一(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());
.....
}
当然上面的代码只是为了给你一个洞察力,尽管它工作得很好。为了更好地诊断,我们可以利用 "HP.LFT.Verifications" 等其他库来检查结果 重要提示:您不能同时使用 UFT 和 LeanFT 作为运行时引擎!