{"id":15150533,"url":"https://github.com/roboticautomata/serenity-bdd-api-testing-example","last_synced_at":"2026-02-10T04:32:35.883Z","repository":{"id":223156738,"uuid":"759449452","full_name":"RoboticAutomata/serenity-bdd-api-testing-example","owner":"RoboticAutomata","description":"API Test Automation Example with Serenity BDD","archived":false,"fork":false,"pushed_at":"2024-02-24T15:50:48.000Z","size":272,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-07T07:52:47.675Z","etag":null,"topics":["cucumber","java","restassured","serenity"],"latest_commit_sha":null,"homepage":"https://linktr.ee/roboticautomata","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RoboticAutomata.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-18T16:18:59.000Z","updated_at":"2024-05-17T10:09:54.000Z","dependencies_parsed_at":"2024-09-26T14:32:45.829Z","dependency_job_id":null,"html_url":"https://github.com/RoboticAutomata/serenity-bdd-api-testing-example","commit_stats":{"total_commits":5,"total_committers":1,"mean_commits":5.0,"dds":0.0,"last_synced_commit":"29f54bccaf1676db72c712fa915a65f656577802"},"previous_names":["roboticautomata/serenity-bdd-api-testing","roboticautomata/serenity-bdd-api-testing-example"],"tags_count":0,"template":false,"template_full_name":"serenity-bdd/serenity-rest-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboticAutomata%2Fserenity-bdd-api-testing-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboticAutomata%2Fserenity-bdd-api-testing-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboticAutomata%2Fserenity-bdd-api-testing-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoboticAutomata%2Fserenity-bdd-api-testing-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoboticAutomata","download_url":"https://codeload.github.com/RoboticAutomata/serenity-bdd-api-testing-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247615482,"owners_count":20967183,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cucumber","java","restassured","serenity"],"created_at":"2024-09-26T14:21:15.844Z","updated_at":"2026-02-10T04:32:35.858Z","avatar_url":"https://github.com/RoboticAutomata.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Testing Example with SerenityRest BDD (and Cucumber)\nThis repo demonstrates how to do API Test Automation using SerenityRest (RestAssured under the hood) with Cucumber BDD format.\n\n\u003c!--ts--\u003e\n* [API Testing Example with SerenityRest BDD (and Cucumber)](#api-testing-example-with-serenityrest-bdd-and-cucumber)\n   * [Application under Test](#application-under-test)\n   * [Exactly what APIs are we testing?](#exactly-what-apis-are-we-testing)\n      * [Add User](#add-user)\n      * [Login User](#login-user)\n      * [Logout User](#logout-user)\n   * [Repository Structure](#repository-structure)\n   * [Run the tests](#run-the-tests)\n   * [Resources](#resources)\n\n\u003c!-- Created by https://github.com/ekalinin/github-markdown-toc --\u003e\n\u003c!-- Added by: rashad, at: Sun Feb 18 11:38:05 AM EST 2024 --\u003e\n\n\u003c!--te--\u003e\n\n## Application under Test\n\nWe will be testing the [Thinking Tester Contact List App](https://thinking-tester-contact-list.herokuapp.com/)\n\nSpecifically, the [API](https://documenter.getpostman.com/view/4012288/TzK2bEa8)\n\n## Exactly what APIs are we testing?\n\nIn case Thinking App goes down or the API is updated, here is the gist of the current APIs tested at the time of writing.\n\nWe specifically will cover the workflow of adding a new user, logging in and logging out.\n\n### Add User\n\n```\nPOST Request -\u003e\nhttps://thinking-tester-contact-list.herokuapp.com/users\n\nRequest Body -\u003e\n{\n    \"firstName\": \"Test\",\n    \"lastName\": \"User\",\n    \"email\": \"test@fake.com\",\n    \"password\": \"myPassword\"\n}\n\nResponse Status -\u003e\n201\n```\n\n### Login User\n\n```\nPOST Request -\u003e\nhttps://thinking-tester-contact-list.herokuapp.com/users/login\n\nRequest Body -\u003e\n{\n    \"email\": \"test2@fake.com\",\n    \"password\": \"myNewPassword\"\n}\n\nResponse Status -\u003e\n200\n\nResponse Body -\u003e\n{\n  \"token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI2MDgyMWYzMDYyZmJiMjEzZTJhZDlhMjAiLCJpYXQiOjE2MTk3M\n}\n```\n\n### Logout User\n\n```\nPOST Request -\u003e\nhttps://thinking-tester-contact-list.herokuapp.com/users/logout\n\nHeader -\u003e\nAuthorization: Bearer $token\n\nResponse Status -\u003e\n200\n```\n\n## Repository Structure\n```\nsrc/test/resources/features\n└── User.feature #the test scenario\n```\n\n```\nsrc/test/java/starter\n├── apis #resquest specifications for various APIs\n│   └── UserAPI.java\n├── CucumberTestSuite.java #useful if running tests from an IDE\n└── steps #step definitions for our feature files\n    └── UserSteps.java\n```\n\n## Run the tests\n\n```\nmvn clean verify\n```\n\n## Resources\n\n- [Youtube Tutorial](https://youtu.be/Us1b191D6pQ?feature=shared)\n- [Medium Blog Tutorial](https://medium.com/@RoboticAutomata/api-test-automation-tutorial-with-serenity-bdd-e40f2c34876f)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froboticautomata%2Fserenity-bdd-api-testing-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froboticautomata%2Fserenity-bdd-api-testing-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froboticautomata%2Fserenity-bdd-api-testing-example/lists"}