A Katalon Studio project demonstrating REST API testing using REST Assured library with the Swagger Petstore API.
This project contains automated API tests for the Swagger Petstore API, showcasing various REST API testing scenarios including:
- Pet management (create, update, delete, find by status/tags)
- Store operations (inventory, orders)
- User management (create, update, delete, login/logout)
├── Object Repository/Swagger Petstore/ # REST service objects
├── Scripts/ # Test scripts
├── Test Cases/ # Test case definitions
├── OpenAPI Specification/ # API specifications
├── Include/config/ # Configuration files
└── Profiles/ # Test execution profiles
- Katalon Studio 10.2.x: Test automation platform
- REST Assured 3.3.0: Java library for REST API testing
- Groovy: Scripting language for test implementation
- Gradle: Build automation
- Katalon Studio 10.2.0 or later
- Java 8 or later
- Gradle (included via wrapper)
- Clone this repository
- Run Gradle command to download dependencies:
./gradlew katalonCopyDependencies
- Open the project in Katalon Studio
- Open the project in Katalon Studio
- Navigate to Test Cases
- Right-click on a test case and select "Run"
The project tests the following Swagger Petstore API endpoints:
POST /pet
- Add a new petPUT /pet
- Update an existing petGET /pet/findByStatus
- Find pets by statusGET /pet/findByTags
- Find pets by tagsGET /pet/{petId}
- Find pet by IDPOST /pet/{petId}
- Update pet with form dataDELETE /pet/{petId}
- Delete a petPOST /pet/{petId}/uploadImage
- Upload pet image
GET /store/inventory
- Get pet inventories by statusPOST /store/order
- Place an order for a petGET /store/order/{orderId}
- Find purchase order by IDDELETE /store/order/{orderId}
- Delete purchase order by ID
POST /user
- Create userPOST /user/createWithArray
- Create list of users with array inputPOST /user/createWithList
- Create list of users with list inputGET /user/login
- Log user into the systemGET /user/logout
- Log out current logged in user sessionGET /user/{username}
- Get user by usernamePUT /user/{username}
- Update userDELETE /user/{username}
- Delete user
The project uses Gradle with the Katalon plugin. Key dependencies are configured in build.gradle
with explicit Groovy exclusions to avoid conflicts with Katalon's embedded Groovy version.
Logging configuration is available in Include/config/log.properties
.
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests to ensure they pass
- Submit a pull request
This project is for demonstration purposes.