Karate is the only open-source tool to combine API test-automation, mocks, performance-testing and even UI automation into a single, unified framework. The syntax is language-neutral, and easy for even non-programmers. Assertions and HTML reports are built-in, and you can run tests in parallel for speed.
There's also a cross-platform stand-alone executable for teams not comfortable with Java. You don't have to compile code. Just write tests in a simple, readable syntax - carefully designed for HTTP, JSON, GraphQL and XML. And you can mix API and UI test-automation within the same test script.
A Java API also exists for those who prefer to programmatically integrate Karate's rich automation and data-assertion capabilities.
If you are familiar with Cucumber / Gherkin, the big difference here is that you don't need to write extra "glue" code or Java "step definitions" !
It is worth pointing out that JSON is a 'first class citizen' of the syntax such that you can express payload and expected data without having to use double-quotes and without having to enclose JSON field names in quotes. There is no need to 'escape' characters like you would have had to in Java or other programming languages.
And you don't need to create additional Java classes for any of the payloads that you need to work with.
1. Download the latest version of VS Code
2. Download the latest version of Java - sdk and jre
3. Open Karate project code in the VS Code IDE
4. Install the following dependencies and plugins from VS code Extensions
* Karate Runner
* Extention Java Pack
* Cucumber (Given When Then)
* material icon theme
Note: Select Language Mode as Karate
Please provide the Application API End point details in app_url.feature file
Open the Program_SpecAPI folder and Run the required program level feature files
i.e vsk_program_specs.feature , program_specs.feature
Open the Ingest_ImportCsv/Programs folder and run the Ingest_VSK_files.feature , students-attendance-ingestion.feature , teacher-attendance-ingestion.feature files and input data files are stored to Buckets
Open the Ingest_ImportCsv/Dimensions folder and run the validate_dimension_api.feature file it will upload the dimension files to bucket
1. Open the Ingest_ImportCsv/Programs
2. Provide the cron time expression for adapter_run , processor_run and run_latest_run processor groups
3. Run the schedule_processor.feature file
Reports are stored inside the target folder