GitHub - authorjapps/zerocode: A community-developed, free, open source, declara...
source link: https://github.com/authorjapps/zerocode
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
Zerocode
Automated API testing was never so easy before
Latest release: 1.3.x 🏹
Continuous Integration:
Issue Discussions: Slack
Mailing List: Mailing List
License: Apache 2.0
Gitter IM: Gitter
Zerocode makes it easy to create and maintain automated tests with absolute minimum overhead for REST,SOAP, Kafka, DB services and more. It has got best of best ideas and practices from the community to keep it super simple and the adoption is rapidly growing among the developer/tester community.
Quick Links
For a quick introduction to Zerocode and its features, visit the
Introduction
Zerocode is a new light-weight, simple and extensible open-source framework for writing test intentions in simple JSON or YAML format that facilitates both declarative configuration and automation.
Put simply, Zerocode alleviates pain and brings simplicity to the moddern api-automation. The framework manages the response validations, target API invocations,load/stress testing and security testing in a unified way using simple YAML/JSON/Fluent steps aka DSL.
For example, if your REST API URL https://localhost:8080/api/v1/customers/123
with GET
method and "Content-Type": "application/json"
returns the following payload and a http
status code 200(OK)
,
Response: { "id": 123, "type": "Premium High Value", "addresses": [ { "type":"home", "line1":"10 Random St" } ] }
then, we can easily validate the above API using Zerocode
like below.
- Using YAML described as below,
The beauty here is, we can use the payload/headers structure as it is without any manipulation.
--- url: api/v1/customers/123 method: GET request: headers: Content-Type: application/json retry: max: 3 delay: 1000 verify: status: 200 headers: Content-Type: - application/json; charset=utf-8 body: id: 123 type: Premium High Value addresses: - type: home line1: 10 Random St
or
- Using JSON DSL described as below,
{ "url": "api/v1/customers/123", "method": "GET", "request": { "headers": { "Content-Type": "application/json" } }, "retry": { "max": 3, "delay": 1000 }, "verify": { "status": 200, "headers": { "Content-Type" : [ "application/json; charset=utf-8" ] }, "body": { "id": 123, "type": "Premium High Value", "addresses": [ { "type": "home", "line1": "10 Random St" } ] } } }
and run it simply by pointing to the above JSON/YAML file from a JUnit @Test
method.
@Test @Scenario("test_customer_get_api.yml") public void getCustomer_happyCase(){ // No code goes here. This remains empty. }
Looks simple n easy? Why not give a try? Visit the quick-start guide or user's guide for more insight.
Zerocode is used by many companies such as Vocalink, HSBC, HomeOffice(Gov) and many others to achieve accurate production drop of their micro-services.
Happy testing! 🐼
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK