ht

module
v2.4.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2016 License: BSD-3-Clause

README

HT: HTTP Testing Made Easy

Go Report Card GoDoc

End-to-end testing of HTTP requests/responses is easy with Go.

Writing and maintaining high level test is even easier with ht.

Goals

ht tries to achieve the following:

  • Make generating all common HTTP requests easy.
  • Provide high- and low-level checks on the received response.
  • Make measuring response times easy.

Non-Goals

ht is not the jack of all trades in testing web applications:

  • Simulating different browsers is not done.
  • Simulating interactions in a browser is not done.

Installation

Installing ht should be simple if Go 1.5 and git are available and working:

  • Run GO15VENDOREXPERIMENT=1 go get github.com/vdobler/ht/cmd/ht which should download, compile and install everything.

  • Run $GOPATH/bin/ht help to get you started.

  • For a quick check of a HTML page do a

    $GOPATH/bin/ht quick <URL-of-HTML-page>

    and check the generated Report.html file.

If you want to run checks on rendered HTML pages you need a local installation of PhantomJS in version >= 2.0. See http://phantomjs.org .

Documentation

For a start have a look at the

Tutorial https://github.com/vdobler/ht/blob/master/cmd/ht/Tutorial.md

or the

Showcase here https://github.com/vdobler/ht/tree/master/showcase

The showcase is pretty nonsensical but show almost all features in just a few files. You might want to $ go run showcase.go to have a dummy server listening on localhost:8080 to run the tests against: $ ht exec showcase.suite

For details see the the godoc for reference:

Directories

Path Synopsis
cmd
ht
ht generates HTTP requests and checks the received responses.
ht generates HTTP requests and checks the received responses.
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
Package cookiejar implements an in-memory RFC 6265-compliant http.CookieJar.
Package fingerprint provides fingerprinting of images.
Package fingerprint provides fingerprinting of images.
Package ht provides functions for easy testing of HTTP based protocols.
Package ht provides functions for easy testing of HTTP based protocols.
internal
json5
Package json5 implements encoding and decoding of JSON objects as defined in RFC 4627.
Package json5 implements encoding and decoding of JSON objects as defined in RFC 4627.
Package loghist provides integer histograms with exponentially growing bucket sizes.
Package loghist provides integer histograms with exponentially growing bucket sizes.
Package recorder allows to capture request/response pairs via a reverse proxy and generate tests for these pairs.
Package recorder allows to capture request/response pairs via a reverse proxy and generate tests for these pairs.
Package sanitize contains functions to sanitize filenames.
Package sanitize contains functions to sanitize filenames.
showcase implements a server to run the showcase.suite against
showcase implements a server to run the showcase.suite against

Jump to

Keyboard shortcuts

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