使用QTP/UFT进行API测试

在测试API之前,需要了解API。API(应用编程接口)是可由其他软件应用执行的软件功能和过程的集合。

什么是API测试?

API测试是一种验证应用程序编程接口(API)的软件测试方法。API测试的目标是使用软件将输入发送到API,并记录输出以测试API。 所以API测试是:

  • 在没有GUI的情况下进行测试
  • 以编程方式模拟数据或控件。
  • 关注功能,而不是行为或客户体验。
How API works
How API works

为什么API测试很重要?

API测试有四个显著的优势

1. API检测是大势所趋

Api测试在过去10年中发展非常迅速。与其他测试相比,它变得非常流行。

2. 时间效率高

API测试,可以使用并行执行来减少测试执行时间。与其他测试类型相比,最多可以节省5倍。

3. 独立于语言的

在API测试中,数据通过XML或JSON交换,因此可以使用任何语言来测试响应。例如,如果有响应为JSON格式的服务,则可以使用Java、C#或任何语言轻松解析数据。

4. 轻松的GUI集成

使用UFT(统一功能测试)进行API测试

有很多工具可用,既有开源的,也有商业的。QPT UFT是执行API测试的最佳工具,界面和配置都很简单。

QTP的最后一个版本称为HP Unified Functional Testing(UFT),它是HP QTP(GUI测试工具)和HP Service Test(API测试工具)的组合。此外,QTP支持Web、Java、.Net、Oracle、Siebel、Web服务和许多其他主要语言和平台,而一些旧版本不支持这些语言和平台。

HP UFT支持的API测试类型

  1. Web服务

  2. Rest接口

  3. 面向对象语言

  4. 数据库

  5. 专有API

使用QTP开始第一个API测试

在这篇UFT中的API测试教程中,将介绍UFT API测试示例。下面我们将API作为测试用例进行测试

  1. 获取指定用户在Facebook上的个人资料。

  2. 验证配置文件是否符合预期

下面是为该API构建测试流的步骤。

API Testing with QTP
API Testing with QTP

步骤1: 打开HP UFT并创建新的API测试项目

  1. 选择开始>(所有)程序>HP软件>HP Unified Functional Testing>Unified Functional Testing。
API Testing with QTP/UFT
API Testing with QTP/UFT
  1. 单击文件>新建>测试。选择API测试类型
API Testing with HP QTP
API Testing with HP QTP
  1. 打开对话框后,输入API test的名称:api_facebook。并选择保存此项目的位置,如上面的UFT API测试示例所示。

单击Create创建一个API Test项目。

API Testing with HP QTP/UFT
API Testing with HP QTP/UFT

步骤2: 将HTTP求添加到测试流。

我们将使用HTTP求向Facebook API发出求。

  1. 选择工具箱>网络
How to test API using QTP/UFT
How to test API using QTP/UFT
  1. 将元素HTTP求拖到测试流。
How to test API using HP QTP/UFT
How to test API using HP QTP/UFT

步骤3: 配置参数并将其传递到HTTP求

  1. 右键,单击Object HTTP Request以编辑此对象。
How to test API using UFT/QTP
How to test API using UFT/QTP
  1. 在属性部分中,输入URL
API Testing with HP UFT/QTP
API Testing with HP UFT/QTP
https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD

还可以通过SetValues求头部将参数传入到API

API Testing with QTP
API Testing with QTP

可以使用Facebook的Graph API Explore获取Access_Token的值。

API Testing with QTP/UFT
API Testing with QTP/UFT
  1. 设置HTTP方法为GET方法。

    1. 配置HTTP方法
API Testing using HP QTP
API Testing using HP QTP
  1. 配置HTTP求的检查点

在检查点部件中,设置的状态代码为“200”。检查点允许在状态代码为200的情况下查看操作是否成功,这意味着测试用例已通过。

API Testing with UFT
API Testing with UFT

步骤4: 运行测试

单击“运行”按钮或按F5打开“运行测试”对话框。单击Run(运行)以编译并运行测试。

API Testing using HP UFT/QTP
API Testing using HP UFT/QTP

步骤5: 查看结果

运行结果查看器将打开。在这个使用UFT进行API测试的示例中,如果测试用例失败,测试结果如下图所示。

API Testing using HP QTP tool
API Testing using HP QTP tool

如果测试用例通过,我们报告如下

API Testing using HP UFT/QTP tool
API Testing using HP UFT/QTP tool

好的,现在我们已经使用UFT完成了第一个API测试。现在已经学会了使用UTF中的API测试创建一个测试,可以为无GUI应用程序创建自己的测试了。

总结

API测试是GUI下面的测试,以编程方式模拟以下场景的数据或控件。 API测试是软件开发过程中最流行的测试之一,因为它有很多优点

  • API是测试的一种趋势
  • 高效
  • 独立于语言
  • 轻松的GUI集成

执行API测试的工具很多,QTP是执行此测试的最佳工具之一。尽管QTP有一些缺点,但QTP仍然是一个非常强大的API测试工具,因为它有很多优点

IT赶路人

专注IT知识分享