📜  QTP使用XML(1)

📅  最后修改于: 2023-12-03 14:46:50.777000             🧑  作者: Mango

QTP使用XML

QTP (QuickTest Professional)是一款自动化测试工具,它可以用于自动化测试各种应用程序,包括 Web 应用程序、客户端/服务器应用程序和 Windows 应用程序等。QTP使用XML(可扩展标记语言)来对测试脚本进行存储、导入和导出操作。

1. XML作为QTP测试结果格式

QTP将测试结果保存在XML文件中,这些结果包括测试用例的成功或失败状态、测试运行时间等信息。使用XML作为测试结果格式,可以方便地对测试结果进行自动化处理。

以下是QTP生成的XML测试结果文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<TestResults>
<TestCase name="Test1" status="Passed" time="00:00:01" />
<TestCase name="Test2" status="Failed" time="00:00:02">
  <ErrorMessage>Object not found</ErrorMessage>
</TestCase>
<TestCase name="Test3" status="Passed" time="00:00:01" />
</TestResults>
2. 使用XML作为测试参数

在使用QTP测试过程中,我们可以将测试所需的参数保存在XML文件中,以便在多次运行测试过程中复用这些参数。

以下是QTP所需参数的XML文件示例:

<?xml version="1.0"?>
<TestParameters>
<Parameter name="Username">tester</Parameter>
<Parameter name="Password">123456</Parameter>
<Parameter name="URL">http://www.example.com</Parameter>
</TestParameters>
3. 在QTP中使用XML

在QTP中,我们可以使用XML作为测试结果格式和测试参数格式。以下是在QTP中使用XML的示例:

3.1 将测试结果保存为XML文件
'创建XMLDoc对象
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
'创建TestResults节点
Set rootNode = xmlDoc.createElement("TestResults")
xmlDoc.appendChild rootNode
'创建TestCase节点
Set testCaseNode = xmlDoc.createElement("TestCase")
testCaseNode.setAttribute "name", "Test1"
testCaseNode.setAttribute "status", "Passed"
testCaseNode.setAttribute "time", "00:00:01"
rootNode.appendChild testCaseNode
'保存测试结果为XML文件
xmlDoc.save "C:\TestResults.xml"
3.2 从XML文件中读取测试结果
'创建XMLDoc对象
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
'加载XML文件
xmlDoc.load "C:\TestResults.xml"
'获取TestResults节点
Set rootNode = xmlDoc.documentElement
'获取TestCase节点
Set testCaseNode = rootNode.getElementsByTagName("TestCase")(0)
'name属性值
testCaseName = testCaseNode.getAttribute("name")
'status属性值
testCaseStatus = testCaseNode.getAttribute("status")
'time属性值
testCaseTime = testCaseNode.getAttribute("time")
3.3 保存测试参数为XML文件
'创建XMLDoc对象
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
'创建TestParameters节点
Set rootNode = xmlDoc.createElement("TestParameters")
xmlDoc.appendChild rootNode
'创建Parameter节点
Set parameterNode = xmlDoc.createElement("Parameter")
parameterNode.setAttribute "name", "Username"
parameterNode.Text = "tester"
rootNode.appendChild parameterNode
'保存测试参数为XML文件
xmlDoc.save "C:\TestParameters.xml"
3.4 从XML文件中读取测试参数
'创建XMLDoc对象
Set xmlDoc = CreateObject("Microsoft.XMLDOM")
'加载XML文件
xmlDoc.load "C:\TestParameters.xml"
'获取TestParameters节点
Set rootNode = xmlDoc.documentElement
'获取Parameter节点
Set parameterNode = rootNode.getElementsByTagName("Parameter")(0)
'name属性值
parameterName = parameterNode.getAttribute("name")
'值
parameterValue = parameterNode.Text
总结

使用XML作为QTP的测试结果格式和测试参数格式,可以方便地对测试结果进行自动化处理,同时也可以在多次运行测试过程中复用测试所需参数。