---
description: What is API Testing? Before testing API, we need to know about API. An API (Application Programming Interface) is a collection of software functions and procedures which can be executed by other softw
title: "API Testing USING QTP/UFT: Complete Tutorial"
image: https://www.guru99.com/images/api-testing-using-qtp-uft.png
---

[Skip to content](#main)

**⚡ Smart Summary**

API testing in QTP/UFT One validates a service directly, with no user interface involved. An API test is built as a flow of activities on a canvas, and checkpoints decide whether each response passes.

- 🔘 **No GUI involved:** Inputs are sent straight to the service and the recorded response is compared with expectations.
- ☑️ **Five supported types:** Web service, REST, object-oriented language, database and proprietary APIs.
- ✅ **Activity flow, not objects:** Drag an HTTP Request from the Toolbox onto the test flow and set its properties.
- 🧪 **Checkpoints decide the verdict:** A status code checkpoint of 200 marks the call successful without manual inspection.
- 🛠️ **Results in one place:** The Run Results Viewer reports every activity, its response and each checkpoint outcome.
- 📌 **Current naming:** QTP plus HP Service Test became UFT, now sold as OpenText Functional Testing (UFT One).

Read More

![Building and running an API test in QTP and UFT One](https://www.guru99.com/images/api-testing-using-qtp-uft.png)

Before testing an API, we need to know what an API is. An API (Application Programming Interface) is a collection of software functions and procedures that can be executed by other software applications.

## What is API Testing?

**[API Testing](https://www.guru99.com/api-testing.html)** is a [software testing](https://www.guru99.com/software-testing.html) method for validating Application Programming Interfaces (APIs). The goal of API testing is to test the API in terms of functionality, reliability, security and performance. In API testing, software is used to send inputs to the API, and the output is recorded in order to test the API.

So API Testing is:

- Testing without GUI
- Programmatically simulating data or control-flow scenarios.
- Focus on [functionality](https://www.guru99.com/functional-testing.html), not on behavior or customer experience.

The diagram below places API testing between the client that calls the service and the data it reaches.

[![Scope of API testing between the client layer and the database layer]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw1.png)

## Why is API Testing important?

API Testing has four significant advantages

### 1. API testing is the trend

As the following figure shows, API testing has grown very fast over the last ten years. It has become far more popular than other testing types.

[![Chart showing growth in API testing adoption over ten years]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw2.png)

### 2. Time efficient

With API Testing we can use parallel execution to reduce test execution time. You can save up to 5 times compared to other testing types.

### 3. Language independent

In API Testing, data is exchanged via [XML](https://en.wikipedia.org/wiki/XML) or [JSON](https://www.json.org/), so any language can be used to test the response. For example, if you have a service whose response is in JSON format, you can easily parse the data with Java, [C#](https://www.guru99.com/c-sharp-tutorial.html) or any other language.

### 4. Easy GUI integration

Because UFT One holds GUI tests and API tests in the same solution, an API call can set up data for a user interface test and both kinds of test report into the same run results. That keeps a service check and the screen that consumes it in one project instead of two toolchains.

## API Testing with UFT (Unified Functional Testing)

There are many tools available, both open-source and commercial. UFT is a strong choice for executing API tests, because the flow is built visually and the configuration is kept in one properties pane.

The last version of QTP, called HP Unified [Functional Testing](https://www.guru99.com/functional-testing.html) (UFT), is a combination of HP QTP (a GUI testing tool) and HP Service Test (an API testing tool). UFT supports Web, Java, .NET, Oracle, Siebel, web services and many other major languages and platforms that older versions did not support.

**⚠️ Product naming:** the tool described here as HP UFT is now sold as **OpenText Functional Testing (UFT One)**, having passed from HP to Micro Focus and then to OpenText. The screens below come from the HP-era release, so menu wording differs from current builds, but the API test flow, activities and checkpoints work the same way.

## Type of API test support by HP UFT

1. Web service
2. REST
3. Object-Oriented Language
4. Database
5. Proprietary API

**Don't Miss:**

- [How Object Identification works in QTP/UFT?](https://www.guru99.com/uft-qtp-object-identification.html)
- [Ordinal Identifier in QTP/UFT: Object Identification Example](https://www.guru99.com/uft-qtp-ordinal-identifiers.html)
- [How to Download and Install UFT \[Latest Version\]](https://www.guru99.com/uft-qtp-download-install.html "How to Download and Install UFT [Latest Version]")
- [How to Import, Read, Change Data from EXCEL in QTP/UFT](https://www.guru99.com/using-excel-with-qtp-hp-uft.html)

## Start your first API testing with QTP

In this API testing in UFT tutorial, we will cover UFT API testing examples. We are going to test the Graph API of Facebook. We will test the API as the [Test Case](https://www.guru99.com/test-case.html) below

1. Get a profile of the specified user on Facebook.
2. Verify that the profile is as per expectation

Here is a step to build a test flow for this API.

[![Planned UFT test flow for the Facebook Graph API test case]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw3.png)

**⚠️ About this example:** Facebook retired Graph API v2.3 years ago and the access token shown below has long since expired, so the exact call no longer returns data. The original request is kept unchanged as the worked example; point the same steps at any current REST endpoint to follow along.

### Step 1) Open HP UFT and create new project API Testing

1. Choose **Start > (All) Programs > HP Software > HP Unified Functional Testing > Unified Functional Testing.** In current releases this is simply the **UFT One** shortcut. [![Windows Start menu path to the HP Unified Functional Testing shortcut]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw4.png)
2. Click **File > New > Test**. Select the **API Test** type [![UFT Add New Test dialog with the API Test type selected]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw5.png)
3. When a dialog box opens, input the name of the API test: **API\_Facebook**, and select a location to save this project. Click **Create** to create the API test project. [![Naming the new API test API\_Facebook and choosing its save location]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw6.png)

### Step 2) Adding HTTP Request to Test Flow

We will use the HTTP Request to make a request to the Facebook API.

1. Select **Toolbox** > **Network**[![Network group expanded in the UFT Toolbox pane]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw7.png)
2. Drag element **HTTP Request** to Test Flow. [![HTTP Request activity dropped onto the UFT API test flow canvas]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw8.png)

### Step 3) Configure and pass parameters into an HTTP request

1. Right-click on the **HTTP Request** object to edit it. [![Right-click menu on the HTTP Request object in the test flow]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw9.png)
2. In the Properties part, enter the **URL**[![Properties pane of the HTTP Request activity with the URL field]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw10.png)

   ```
   https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
   ```
3. You can also pass a parameter into the API by setting values in the **Request Header** grid. [![Request Header grid used to pass extra parameters into the API call]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw11.png) Use the [Graph API Explorer](https://developers.facebook.com/tools/explorer) of Facebook to obtain the value of access\_token.
4. Set the **HTTP method** to **GET**. [![HTTP method list of the HTTP Request activity set to GET]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw12.png) [![GET selected as the HTTP method for the request]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw13.png)
5. Configure **Checkpoints** of the **HTTP Request**. Set the Status code to **200** in the Checkpoints part. Checkpoints let you see whether the action was successful without having to check the result manually, and the pass or fail verdict of the test is determined by them. A status code of 200 means the test case has passed. [![Checkpoints pane with the expected status code set to 200]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw14.png)

### Step 4) Run the test

Click the **Run** button, or press **F5**, to open the Run Test dialog box. Click **Run** to compile and run the test.

[![UFT Run Test dialog opened from the Run button]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw15.png)

### Step 5) View the result

The Run Results Viewer opens. In this API testing using UFT example, a failed test case is reported like the following figure.

[![Run Results Viewer showing a failed API test case]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw16.png)

When the test case passes, the result is reported as below.

[![Run Results Viewer showing the API test case passing]()](https://www.guru99.com/images/6-2015/052515_1225_APITestingw17.png)

Your first API test in UFT is now complete.

**Where to go from here**

Now that you have learned to create a test with an API test in UFT, you can create your own test for your GUI-less application. Adding a [checkpoint](https://www.guru99.com/uft-qtp-checkpoints.html) per response and grouping calls into [transactions](https://www.guru99.com/uft-qtp-transactions.html) are the usual next steps.

## FAQs

🔀 What is the difference between a GUI test and an API test in UFT?

A GUI test drives controls on screen and stores them as test objects. An API test is a flow of activities on a canvas that sends requests directly to a service, so nothing is recorded from the interface.

🗃️ Does an API test use an object repository?

No. An API test has activities, input and output properties and data sources instead of test objects, so no [object repository](https://www.guru99.com/uft-qtp-local-shared-object-repository.html) is involved. Only GUI tests learn objects and store their descriptions.

📄 How do you test a SOAP web service instead of a plain HTTP call?

Import the service WSDL into the test. UFT reads the document, creates an activity for each operation the service exposes, and adds them to the Toolbox pane so they can be dragged onto the test flow like any other activity.

🔢 How do you run the same API test with many sets of data?

Link the activity input properties to a data source such as an Excel sheet or XML file instead of typing literal values. Each row then produces one iteration, and the Run Results Viewer reports the outcome per iteration.

🤖 How is AI used to maintain API tests?

AI-assisted tooling compares responses across runs to flag schema drift and newly failing fields, and it can group repeated failures by likely root cause. That shortens triage, but the expected values in each checkpoint still need a human decision.

💡 Can GitHub Copilot help with UFT One API testing?

Copilot is useful for the code around the test: custom activity logic, response parsing and helper functions. It cannot build the visual test flow or read your service contract, so every request and checkpoint it suggests needs verification.

⚖️ How does UFT API testing compare with SoapUI or Postman?

[SoapUI](https://www.guru99.com/soapui-tutorial.html) and [Postman](https://www.guru99.com/postman-tutorial.html) are lighter and free to start with. UFT earns its place where the same project must also cover the user interface, since one licence and one result set span both layers.

🧾 Which checkpoints can an API test verify besides the status code?

Beyond the HTTP status code, an API test can check response body content, individual header values and returned data compared with an expected source. Every checkpoint result appears alongside the request in the Run Results Viewer.

#### Summarize this post with:

ChatGPTPerplexityGrokGoogle AI

**Stay Updated on AI** **Get Weekly AI Skills, Trends, Actionable Advice.**

##### Sign up for the newsletter

Subscribe for Free

You have successfully subscribed.  
Please check your inbox.

![AI-Newsletter]() Chosen by over **350,000+** professionals

[Scroll to top](#wrapper)

×

Search for:

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://www.guru99.com/#organization","name":"Guru99","sameAs":["https://www.facebook.com/Guru99Official","https://twitter.com/guru99com"],"logo":{"@type":"ImageObject","@id":"https://www.guru99.com/#logo","url":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","contentUrl":"https://www.guru99.com/images/guru99-logo-v1-150x59.png","caption":"Guru99","inLanguage":"en-US"}},{"@type":"WebSite","@id":"https://www.guru99.com/#website","url":"https://www.guru99.com","name":"Guru99","publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US"},{"@type":"ImageObject","@id":"https://www.guru99.com/images/api-testing-using-qtp-uft.png","url":"https://www.guru99.com/images/api-testing-using-qtp-uft.png","width":"700","height":"250","caption":"API Testing USING QTP/UFT","inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":"1","item":{"@id":"https://www.guru99.com","name":"Home"}},{"@type":"ListItem","position":"2","item":{"@id":"https://www.guru99.com/qtp","name":"UFT"}},{"@type":"ListItem","position":"3","item":{"@id":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html","name":"API Testing USING QTP/UFT: Complete Tutorial"}}]},{"@type":"WebPage","@id":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html#webpage","url":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html","name":"API Testing USING QTP/UFT: Complete Tutorial","dateModified":"2026-07-30T12:50:27+05:30","isPartOf":{"@id":"https://www.guru99.com/#website"},"primaryImageOfPage":{"@id":"https://www.guru99.com/images/api-testing-using-qtp-uft.png"},"inLanguage":"en-US","breadcrumb":{"@id":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html#breadcrumb"}},{"@type":"Person","@id":"https://www.guru99.com/author/thomas","name":"Thomas Hamilton","description":"I am Thomas Hamilton, a seasoned professional in software testing, specializing in crafting comprehensive guides to help you master your software testing skills.","url":"https://www.guru99.com/author/thomas","image":{"@type":"ImageObject","@id":"https://www.guru99.com/images/thomas-hamilton-author-v2-120x120.png","url":"https://www.guru99.com/images/thomas-hamilton-author-v2-120x120.png","caption":"Thomas Hamilton","inLanguage":"en-US"},"worksFor":{"@id":"https://www.guru99.com/#organization"}},{"articleSection":"UFT","headline":"API Testing USING QTP/UFT: Complete Tutorial","description":"What is API Testing? Before testing API, we need to know about API. An API (Application Programming Interface) is a collection of software functions and procedures which can be executed by other softw","keywords":"qtp","speakable":{"@type":"SpeakableSpecification","cssSelector":[".entry-title",".summary"]},"@type":"Article","author":{"@id":"https://www.guru99.com/author/thomas","name":"Thomas Hamilton"},"dateModified":"2026-07-30T12:50:27+05:30","image":{"@id":"https://www.guru99.com/images/api-testing-using-qtp-uft.png"},"copyrightYear":"2026","name":"API Testing USING QTP/UFT: Complete Tutorial","subjectOf":[{"@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is the difference between a GUI test and an API test in UFT?","acceptedAnswer":{"@type":"Answer","text":"A GUI test drives controls on screen and stores them as test objects. An API test is a flow of activities on a canvas that sends requests directly to a service, so nothing is recorded from the interface."}},{"@type":"Question","name":"Does an API test use an object repository?","acceptedAnswer":{"@type":"Answer","text":"No. An API test has activities, input and output properties and data sources instead of test objects, so no object repository is involved. Only GUI tests learn objects and store their descriptions."}},{"@type":"Question","name":"How do you test a SOAP web service instead of a plain HTTP call?","acceptedAnswer":{"@type":"Answer","text":"Import the service WSDL into the test. UFT reads the document, creates an activity for each operation the service exposes, and adds them to the Toolbox pane so they can be dragged onto the test flow like any other activity."}},{"@type":"Question","name":"How do you run the same API test with many sets of data?","acceptedAnswer":{"@type":"Answer","text":"Link the activity input properties to a data source such as an Excel sheet or XML file instead of typing literal values. Each row then produces one iteration, and the Run Results Viewer reports the outcome per iteration."}},{"@type":"Question","name":"How is AI used to maintain API tests?","acceptedAnswer":{"@type":"Answer","text":"AI-assisted tooling compares responses across runs to flag schema drift and newly failing fields, and it can group repeated failures by likely root cause. That shortens triage, but the expected values in each checkpoint still need a human decision."}},{"@type":"Question","name":"Can GitHub Copilot help with UFT One API testing?","acceptedAnswer":{"@type":"Answer","text":"Copilot is useful for the code around the test: custom activity logic, response parsing and helper functions. It cannot build the visual test flow or read your service contract, so every request and checkpoint it suggests needs verification."}},{"@type":"Question","name":"How does UFT API testing compare with SoapUI or Postman?","acceptedAnswer":{"@type":"Answer","text":"SoapUI and Postman are lighter and free to start with. UFT earns its place where the same project must also cover the user interface, since one licence and one result set span both layers."}},{"@type":"Question","name":"Which checkpoints can an API test verify besides the status code?","acceptedAnswer":{"@type":"Answer","text":"Beyond the HTTP status code, an API test can check response body content, individual header values and returned data compared with an expected source. Every checkpoint result appears alongside the request in the Run Results Viewer."}}]}],"@id":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html#schema-1155803","isPartOf":{"@id":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html#webpage"},"publisher":{"@id":"https://www.guru99.com/#organization"},"inLanguage":"en-US","mainEntityOfPage":{"@id":"https://www.guru99.com/api-testing-with-qtp-hp-uft.html#webpage"}}]}
```
