Skip to content

Features

Peter Thomas edited this page Mar 11, 2024 · 22 revisions

Note

If you would like to comment or add more to this list, please use the issue tracker. Also see the User Guide.

API Client

Capability Implemented Comment
Local First The application runs locally - which means that all your data is secure, you can test APIs that run on localhost or within your network, and you won't be blocked by CORS restrictions.
API Chaining Any number of APIs can be called in a "sequence". Unlike other tools, you can view the whole sequence on one page. You can save variables and chain response data into the next request. Header manipulation (e.g. for auth) can be done using JS functions
Environment Switching You will be able to define variables that are different for different environments, for e.g. "staging", "e2e" etc. This is useful to manage URLs and secrets
Testing You will be able to write simple and complex assertions powered by Karate's powerful match operator. While Karate Xplorer is focused on exploring and visualizing API flows, it is a great starting point to learn test-automation. You will be also able to export an Xplorer flow into a working Karate test
Before / After Scripts You can run JS expressions before and after each HTTP call. This is useful to save variables and data needed for subsequent calls
Team Collaboration Each sequence or API "flow" is saved to the file-system. You will be able to save the folder structure in Git or any backup system of your choice. The data is plain-text and Git can be used to collaborate and share API calling data with a wide, distributed team. While you may not have the best "diff" experience because of the JSON format, this is sufficient for team collaboration.

User Experience

Capability Implemented Comment
Re-use URL Base You have the option to set the common URL base as a global variable, which means that steps just need to specify the path. This aligns to REST standards, reduces the effort needed to make a call and encourages API chaining. You can always over-ride the URL per-step
Label API calls Each call in a sequence can be given a friendly name that is clearly visible in the UI. This is very useful for helping others in your team understand the business context of your API sequence
Input Prompts When you need to keep switching between some values for request data, and switching environments is too "heavy weight", you can do this via the (planned) "Inputs" tab. Here you can set up drop-downs or input-text-fields that modify variables, that in-turn dynamically drive the request body, param or header values
Request and Response side-by-side Other tools show you only the response-body and response-headers, but it is important to see the actual request made also. Karate Xplorer is designed to show you both, side-by-side. This also has the benefit of serving as API documentation
Mask Secrets Any variables marked as "secret" should be masked in the UI and even in the HTTP requests and responses shown on screen or rendered in any report or log
Custom Doc / Visualization For some complex APIs it makes sense to re-format the JSON into a user-friendly view, for example by removing un-necessary data and formatting the core data into an HTML table. This is a great way to add rich documentation to the API sequence. This documentation is dynamic and can refer to variables or requests and responses
Readable Flows Unlike other tools, the Karate Xplorer UI is designed so that you can see all calls within your sequence at the same time. You can expand or collapse each row for convenience. What this means is that your sequences are much more readable and presentable to non-technical stakeholders
Assertion Builder A no-code option to build assertions from a real response
View all Environments If you have multiple environments, you will be able to see all environments in one grid view. This is very convenient for eyeballing the differences between your environments in one-shot
Simpler Scripting The concept of sequence variables is "built-in", and most chaining needs are achieved either by directly referring to the previous response or by setting a named variable that will be used by the next request. Most of the time, you don't need to write raw JavaScript
Re-use JSON You can save JSON as a variable and re-use it in subsequent calls
Modify JSON At any time you can mutate a JSON using JS to make it ready for subsequent calls and create complex and dynamic sequences that way
Business Friendly Karate Xplorer shows JSON responses in a human-friendly format (unique to Xplorer) that is ideal for demoing API calls to non-technical stakeholders. API product owners will be able to demo APIs to the business or end-users and customers. You also have the option to view the "raw" JSON

Import / Export

Capability Implemented Comment
Import Support for importing cURL, Postman Collections, HAR, Swagger, OpenAPI (right now you can also convert imported API data to Karate scripts)
Export cURL You may want to share API call data to developers and for other tools
Export Karate Test *(see Import) When you want to turn your sequences into formal test-automation that can run in parallel and in CI / CD, you have the option to export your Xplorer scripts into Karate *.feature files. This is how you can scale from exploratory-testing to full-fledged test-automation.
Export HTML You will be able to export a sequence execution as plain HTML. The entire runtime of the session including your custom documentation, requests and responses can be saved and shared with project stakeholders

Install

Capability Implemented Comment
Local Install You install and run the application locally. No data needs to be saved in the cloud or outside your firewall. A local install is needed to be able to test APIs running on localhost or within your private network.
Simple Install Karate Xplorer is packaged as a ZIP install to make it easy for adding to any machine and it is cross-platform (Windows, Mac, Linux). You don't need Visual Studio Code and business-users who are not comfortable with an IDE can easily use it
Native Installer We are starting out with a ZIP install. Based on initial feedback, this is actually simpler for most teams, as you don't need admin rights. The downside is that you need to open a web-browser after you start the executable, and you need to kill the terminal / process manually when you are done. If you want an MSI file (Windows) or DMG (Mac) let us know.
Docker Option (planned) Enterprise users have the option of running Karate Xplorer as a shared Docker instance. This gives you the best of both worlds, you don't need to install on multiple machines, but still get the benefit of being able to test APIs within your firewall or private network
Clone this wiki locally