Skip to content
πŸ‘©β€πŸ”¬ Test your Dialogflow/Actions on Google fulfillments like never before
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ui
.gitignore
Dockerfile
LICENSE
README.md
build.sh
main.go
test.http

README.md

Dialogflow Fulfillment Tester

Test your Fulfillments like never before!

Start it:

And test with style using the User Interface:

Or send the requests manually:

Features

  • Works on Windows, Linux and Mac (64 bit)
  • Small binary with no external dependencies, written in Go (<10 MB)
  • Supports fulfillments in any programming language
  • Supports Actions on Google fulfillments
  • No More waiting. Never. Just run your fulfillment (locally or remotely) and start testing
  • Be 100x more productive, when working with multiple Agents
  • Run automated tests with tools like Jest, Ava, Mocha (or any other of your choice)
  • Test with convinience, with a built-in User Interface
  • Test your fulfillments on CI/CD
  • Debug your fulfillments: run tests, fix errors, repeat
  • Isolate your testing (great, when working in a group). Don't share access to your Google Project
  • Can be packaged as Docker image and run on Docker or Kubernetes
  • Works exactly like Dialogflow, 100% accurate testing results guaranteed

Excited? Let's get started!

Installation

Connect your Dialogflow Agent to Dialogflow Gateway, read the guide here

Install the latest executable for your operating system from the Releases Page

Run

dialogflow-fulfillment-tester --project <YOUR GOOGLE CLOUD PROJECT ID> --fulfillment <URL>

Get help:

dialogflow-fulfillment-tester --help

Tip: if you are on node and firebase functions, run your function locally using the firebase functions emulator

Installing the UI

If you want the UI, clone this repo and put the ui folder near the executable.

Notice: when running Dialogflow Fulfillment Tester on a diffrent host/port, make sure to change it in the UI as well (index.html):

let url = "http://localhost:8899" // <- Change the url, when running on a different host/port

Notice: the UI doesn't actually display Actions on Google components. I don't have time to do that, you can donate to make me reconsider it or implement it yourself and make a pull request to this repo

Tip: When inspecting using the UI, open the console to see the request/response body

Making Requests

The request/response format of the Dialogflow Fulfillment Tester is equal to the Dialogflow Gateway request/response format, which is equal to the Dialogflow request/response format. Read the docs here

Building from source

  • Get Go
  • Build using build.sh script
  • Ready!
You can’t perform that action at this time.