goat

command module
v0.0.0-...-8a09dd0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2016 License: MIT Imports: 4 Imported by: 0

README

GoAT

GoAT is a Go Acceptance Testing framework

NB This is a pre-alpha work in progress!

For extra info, see the wiki

What?

GoAT aims to provide simple behaviour driven testing for web sites. It defines a user-friendly DSL that can be easily written by non-technical product owners and tooled later by your devs (where there aren't already standard tools included).

Why?

You've created an awesome website, so you want to test it right? But your product owners and test experts aren't necessarily technical, and your devs aren't necessarily experienced testers. GoAT allows your non-technical people to specify human readable test specs and your devs to add magic where required.

Getting Started

Prerequisites

GoAT uses Selenium Server for interaction with your browsers. To that end you'll need to have java and the selenium server jar (and have them running!)

Project layout

You don't have to follow the default project layout (pretty much everything is configurable) but for the least amount of effort you'll be wanting to do this:


[root]
  + tests
    - // contains test and test suite files
  + pages
    - // contains page definition files
  + results
    - // target folder for generated output

Out-Of-The-Box vs. Tweak-It-Yourself

aka "do I have to write any Go?"

GoAT is designed to be as simple to use as possible and to that end it is possible to use without writing a single line of Go. You do need to define your pages and tests but they are done via simple json/yaml files.

Simply drop the GoAT binary (appropriate for your platform) into a folder, create the default folder layout around it and start creating page definitions and tests.

If you want to define your own custom instrumentation and assertions then you're going to have to get your hands dirty and use the GoAT packages and API.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package initialise prepares workspaces to be used as test packs The chosen target to initialise must be a valid folder that exists and is empty // Initialise the current working directory if err := initialise.CurrentFolder(); err != nil { log.Errorf("Failed to initialise: %v", err) } // Initialise a specified folder if err := initialise.Folder("/path/to/folder"); err != nil { log.Errorf("Failed to initialise: %v", err) } In both instances, the following structure will be created: + ./ + .gitignore + config/ # Holds configuration for the test pack + default.json + pages/ # Object page definitions + tests/ # Test specifications + results/ # Test output
Package initialise prepares workspaces to be used as test packs The chosen target to initialise must be a valid folder that exists and is empty // Initialise the current working directory if err := initialise.CurrentFolder(); err != nil { log.Errorf("Failed to initialise: %v", err) } // Initialise a specified folder if err := initialise.Folder("/path/to/folder"); err != nil { log.Errorf("Failed to initialise: %v", err) } In both instances, the following structure will be created: + ./ + .gitignore + config/ # Holds configuration for the test pack + default.json + pages/ # Object page definitions + tests/ # Test specifications + results/ # Test output

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL