Giter VIP home page Giter VIP logo

virtualansoftware / idaithalam-postman-collection Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 3.0 1015 KB

Cucumber BDD style No Code/Low Code/Script Less API Test automation framework demo application. As a tester, they can populate the Excel spread sheet and can run the test without writing any code. or As a user, they can export the postman collection and can run the test without any coding.

Home Page: https://tutorials.virtualan.io/#/

License: Apache License 2.0

Java 100.00%
api-rest api-testing-framework apitesting api-testing contract-testing agile-development test-automation-framework test-automation cucumber cucumber-java

idaithalam-postman-collection's Introduction

Idaithalam

Maven Central Build status

What is Idaithalam:

Idaithalam is a NoCode/LowCode Api test Automation Framework.

As a user: You need to export the POSTMAN Collection and pass to Idaithalam. NO CODING required

Currently It supports generate Feature files for POSTMAN Collection and Virtualan Collection and Excel format. This will covert REST APIs based on POST, GET, PUT, DELETE and PATCH action as respective domain specific language which helps you to describe API/business behavior without the need to go into detail of implementation.

Steps to create POSTMAN Collection

  • Create a collection
  • Under the created collection, create a API request
  • Add the GET URL for the API testing
  • After providing the input information for the API, run the API by clicking 'SEND'
  • Save the API request via 'save example' in the postman
  • Repeat the above steps to create all the API request
  • Export the created API request/response as Postman collection

Demo POSTMAN Collection:

Auto Generated Feature file:

https://github.com/virtualansoftware/idaithalam-api-postman-collection-testing/blob/master/src/test/resources/idaithalan.postman_collection.json

Demo Code Base:

https://github.com/virtualansoftware/idaithalam-api-postman-collection-testing

How to Integrate:

  1. cucumblan.properties - Should be added in classpath
service.api=https://live.virtualandemo.com                 # Service Endpoint URL
virtualan.data.load=idaithalan.postman_collection.json     # Collection file should be in CLASSPATH. added POSTMAN Collection  
virtualan.data.heading=API testing                         # heading
virtualan.data.type=POSTMAN                                # Collection Type.  POSTMAN, VIRTUALAN, EXCEL

  1. "conf" directory:
1. Should be created in the project root folder. 
2. Feature file will be Auto generated here. 
3. You can keep cucumblan.properties and Collection files in this location.

Example: 
https://github.com/virtualansoftware/idaithalam-api-postman-collection-testing/tree/master/conf 
  1. Code to Invoke the Auto Generation:
//Initiate the contract testing
//Generate feature file from POSTMAN Collection
//Execute and Generate the HTML Cucumber report
IdaithalamExecutor.validateContract("REPORT HEADING");

Used for API testing.

  • Most of the common use case, You can execute as Regression test suite for the test case executed manually via POSTMAN.
  • Run the testcase via POSTMAN and store the response as Example with response data in the POSTMAN for all the test cases that you had executed.
  • Export all the API request and Response as POSTMAN collection.
  • POSTMAN Collection can be passed as Input as Idaithalam.
  • Idaithalam can be integrated along Continuous Integration and Continuous Delivery(CI/CD) with Pipeline.
  • Idaithalam take the POSTMAN Collection as Input and Covert as Cucumber Feature file.
  • Cucumblan-API another product will execute the feature file and Produce the Cucumber Report with BDD style.

Used for Contract testing.

  • Support for Contract testing.

Used for Production Checkout.

  • Utilized to run against selected use case that needs to validated against Production Checkout(Validation during the production release).

Used for Agile sprint-end Regression testing.

  • During the sprint, You can run all the test cases Manually and then save the response via POSTMAN. Using Idaithalam, Export the POSTMAN Collection and Pass Collection to Idaithalam and will execute and produce the Excellent cucumber HTML Report with all the charts.

idaithalam-postman-collection's People

Contributors

elans3 avatar snyk-bot avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

idaithalam-postman-collection's Issues

Exception with array GET request

I got an exception thrown with a postman collection containing a GET request with an array query parameter (see stacktrrace below).
I tried with a petstore oas yaml (mock and postman collection).

io.cucumber.core.exception.CucumberException: Could not convert arguments for step [add (.*) with given query params$] defined at 'io.virtualan.cucumblan.core.BaseStepDefinition.readRequest(java.lang.String,java.util.Map<java.lang.String, java.lang.String>)'.
at io.cucumber.core.runner.PickleStepDefinitionMatch.couldNotConvertArguments(PickleStepDefinitionMatch.java:112)
at io.cucumber.core.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:56)
at io.cucumber.core.runner.ExecutionMode$1.execute(ExecutionMode.java:10)
at io.cucumber.core.runner.TestStep.executeStep(TestStep.java:92)
at io.cucumber.core.runner.TestStep.run(TestStep.java:64)
at io.cucumber.core.runner.PickleStepTestStep.run(PickleStepTestStep.java:51)
at io.cucumber.core.runner.TestCase.run(TestCase.java:104)
at io.cucumber.core.runner.Runner.runPickle(Runner.java:73)
at io.cucumber.core.runtime.Runtime.lambda$execute$5(Runtime.java:110)
at io.cucumber.core.runtime.CucumberExecutionContext.runTestCase(CucumberExecutionContext.java:117)
at io.cucumber.core.runtime.Runtime.lambda$execute$6(Runtime.java:110)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at io.cucumber.core.runtime.Runtime$SameThreadExecutorService.execute(Runtime.java:233)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at io.cucumber.core.runtime.Runtime.lambda$run$2(Runtime.java:86)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.stream.SliceOps$1$1.accept(SliceOps.java:204)
at java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1361)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
at io.cucumber.core.runtime.Runtime.run(Runtime.java:87)
at io.cucumber.core.cli.Main.run(Main.java:92)
at io.virtualan.idaithalam.contract.IdaithalamExecutor.validateContract(IdaithalamExecutor.java:116)
at io.virtualan.idaithalam.core.api.ParallelExecutor.call(ParallelExecutor.java:62)
at io.virtualan.idaithalam.core.api.ParallelExecutor.call(ParallelExecutor.java:16)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: io.cucumber.datatable.CucumberDataTableException: Can't convert DataTable to Map<java.lang.String, java.lang.String>.
Encountered duplicate key tags with values tags1 and tags2
at io.cucumber.datatable.CucumberDataTableException.cantConvertToMap(CucumberDataTableException.java:28)
at io.cucumber.datatable.CucumberDataTableException.duplicateKeyException(CucumberDataTableException.java:33)
at io.cucumber.datatable.DataTableTypeRegistryTableConverter.createMap(DataTableTypeRegistryTableConverter.java:299)
at io.cucumber.datatable.DataTableTypeRegistryTableConverter.toMap(DataTableTypeRegistryTableConverter.java:287)
at io.cucumber.datatable.DataTableTypeRegistryTableConverter.convert(DataTableTypeRegistryTableConverter.java:81)
at io.cucumber.datatable.DataTable.convert(DataTable.java:360)
at io.cucumber.core.stepexpression.StepExpressionFactory.lambda$createExpression$0(StepExpressionFactory.java:66)
at io.cucumber.core.stepexpression.DataTableArgument.getValue(DataTableArgument.java:19)
at io.cucumber.core.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:47)
... 33 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.