如何导入UFT API测试的数据文件?

时间:2016-06-07 19:09:55

标签: c# automated-tests qtp hp-uft

我正在开发一个项目,该项目需要在运行时动态导入测试数据并运行与测试数据相对应的API测试。

我尝试使用XMLload,我直接从xml请求加载。这似乎工作正常。

但是像我们导入测试数据的GUI测试一样,我希望API测试也是如此 - 我可以动态地从外部源导入excel并将值提供给请求。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

据我了解您的问题,您希望从Excel文件加载测试数据。这就是我在之前的项目中所做的,但却有所不同,所以我希望这对你有用。

这些步骤将帮助您从Excel文件中驱动测试,您将在其中提供请求XML文件和其他测试数据的位置,例如:

  • 执行标志
  • WSDL
  • 终点地址
  • 环境
  • 等......

=============================================== ==========================
从Excel文件导入数据的步骤:

打开 Data 窗格(查看 - >数据)
点击 on New Data Source

enter image description here

选择 Database (不要担心我们将使用Excel作为数据库)
新窗口将显示为 Set Database Connection
点击 Build Connection String 图标

enter image description here
如果未选择,请点击 Provider 标签 选择 Microsoft Office 12.0 Access Database Engine OLE DB Provider
点击 Next
Data Source 部分中,提供Excel( .XLSX )文件的路径,并在此(连接)标签上将所有内容保留为默认值
点击 Advanced 标签
Read Write 部分选择 Access permissions 转到 All 标签
选择 Extended Properties ,然后点击 Edit Value
Excel 12.0 Xml 字段中输入 Property Value ,然后点击 OK
现在返回 Connection 标签,然后点击 Test Connection 按钮
它应显示 Test connection succeeded 消息,如果不是,请返回并再次执行所有步骤 点击 OK
点击 Next
Data Source name 字段中提供工作表名称(您要导入的名称) 例如: [TEST_DATA$] ,其中 TEST_DATA 是工作表名称
Check SQL Statement 按钮
上方的大框中输入您的SQL查询 例如:
我想导入TEST_DATA表中的所有行,其中Execution_Flag列具有Y值。我用过的SQL语句:

SELECT * FROM [TEST_DATA$] WHERE Execution_Flag = 'Y'  

点击 Check SQL Statement 按钮,它应该在新的 Query Preview 窗口中显示结果行 关闭 Query Preview 窗口,然后点击 Set SQL Statement 窗口上的完成 现在,您应该在数据窗格中看到结果行 *我喜欢这种方法的方法是,如果您要在Excel文件中进行更改并刷新数据窗格,它会自动更新 Data 窗格中的数据

=============================================== ==========================
现在从Excel文件中读取数据:
我想说我想从Excel文件中指定的位置读取我的请求XML文件(我们已导入)
我使用 Read From File activity

注意:这只是一个提供想法的示例

Read From File activity 拖放到您的工作区域中 这会抱怨没有为要在错误窗格中读取的文件指定路径 双击此消息,它将在 Properties 窗格中突出显示该字段 将鼠标悬停在文件路径旁边的“值”字段上,然后点击最后一个图标 Link to data source ,这将打开 Select Link Source for 'File path' 窗口
点击 Data source column 单选按钮,然后点击 TEST_DATA 部分的 Select a data source Select data 部分中选择相应的列名称,然后点击 OK ,如图所示

enter image description here

=============================================== ==========================
类似地,您可以通过链接数据源并将其作为输入传递,通过数据窗格从Excel文件传递值/ s到自定义代码,在自定义代码中,您可以通过这种方式检索值:

string environmentName = CodeActivity18.Input.Environment_Name;  

同样,您可以将Excel文件写为自定义代码的输出:

string finalResponseXMLPath = "some path";
CodeActivity18.Output.ResponseXML_FinalPath = finalResponseXMLPath;