testkit 0.2.2

A DSL for testing. Starting with APIs and Browser automation.
Documentation
# Testing Testkit with a Real-World API SPEC

The `realworld.yaml` file contains a Testkit version of the [Real World API SPEC](https://github.com/gothinkster/realworld/blob/main/api/Conduit.postman_collection.json), which allows you to experiment with Testkit and get started quickly.

## Server Setup

Before testing the API SPEC, you need to have a server running to test against. There are various implementations of the `realworld` API SPEC in different languages. To use them as test servers, clone the desired implementation from [here](https://codebase.show/projects/realworld?category=backend), and run it locally.

For the purpose of this guide, we'll walk you through setting up the `Go + Gin` implementation.

### Setting up the Go + Gin Implementation of the Real World API

1. Clone the repository and navigate into the directory:

```shell
git clone https://github.com/gothinkster/golang-gin-realworld-example-app.git
cd golang-gin-realworld-example-app/
```

2. Build the server by running the following commands in the project's root directory:

```shell
go build ./...
```

3. Start the server by executing the generated executable:

```shell
./golang-gin-realworld-example-app
```

Once the server is running, you need to set up the environment variables. You have two options: either set them up in a `.env` file or directly in the `realworld.yaml` Testkit file.

The example test file expects the following environment variables:

- `APIURL`
- `PASSWORD`
- `USERNAME`
- `EMAIL`

To set these environment variables in a `.env` file, create the file and add the necessary values:

```shell
APIURL=https://api.example.com
EMAIL=user@example.com
PASSWORD=mysecretpassword
USERNAME=myusername
```

Now, you are ready to run the test. Execute the following command:

```shell
cargo run -- --file ./Examples/realworld.yaml
```

This will run the Testkit test using the specified `realworld.yaml` file against your locally running Go + Gin implementation of the Real World API. Enjoy exploring and testing with Testkit!