systemtestportal-webapp

module
v1.0.0-rc2 Latest Latest
Warning

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

Go to latest
Published: Apr 16, 2018 License: GPL-3.0

README

Build-Badge Coverage-Badge Go Report Card

SystemTestPortal - http://www.systemtestportal.org

SystemTestPortal is a web application that allows to create, run and analyze manual system tests. It aims to be useful for developers, testers and end-users.

Features

  • Step-by-step execution of tests
  • Organizing test cases with the help of test sequences
  • Inspect protocols of test executions
  • Print tests to execute them offline

Discover more on our Homepage.

Quick start

Once you have downloaded the binary or compiled it yourself. The server can be started using:

stp --host=<the hostname (e.g. localhost or 0.0.0.0)> --port=<the port to listen to>

Since version 0.11.0 the server will listen to all interfaces on port 8080 by default (if no host or port is provided). Earlier versions listen exclusively to localhost on port 8080. If you are using an earlier version, but want to listen to all interfaces you can use "" or 0.0.0.0 as hostname.

Docker image

We also offer a docker image via our registry You can simple pull the latest image using:

docker pull registry.gitlab.com/stp-team/systemtestportal-webapp:latest

or

docker pull registry.gitlab.com/stp-team/systemtestportal-webapp:stable

for the latest stable image (These should be available for versions >= 1.0.0). A container created from the image will immediately start the system, which will listen on the exposed port 8080 of the container.

Note: Since our build machine has the architecture armhf you will most likely not be able to explore the image using

docker run -it --rm registry.gitlab.com/stp-team/systemtestportal-webapp:latest /bin/ash

unless you are working on a system with the same architecture.
If you want to avoid this issue you can build the docker image yourself so it's fitted to your architecture. The required files are the binary-package for linux-amd64 and obviously the Dockerfile. Optionally you can provide a config.ini which will be copied to the image as well. Place all these files in the same folder and then just run:

docker build -t <your name for the image> .

inside it. Viola the build docker image is suited to your system.

Configuration

STP can be configured using a ini configuration file. The default path for the configuration file on linux is /etc/stp/config.ini. On windows STP looks for the config.ini inside the working directory (the directory STP is started in). You can define a different path to the configuration file via the commandline flag --config-path=<your custom path to the configuration>.

A configuration file with all defaults can be found here.

Flags

The available flags you can pass to STP are as follows:

  • --basepath=<the base path>: This is directory STP searches for its resource folders (templates, static, migrations(currently only necessary if STP was build with the sqlite flag)).
  • --port=<port number>: The port that STP should listen on.
  • --host=<host>: The host that STP should interface with.
  • --debug: If present the log output will be a bit more verbose.
  • --config-path=<path/to/the/configuration>: Sets the path where STP searches for its configuration file.
  • --data-dir=<path/where/stp/stores/date>: The directory that STP should stores its data in. E.g. when build with sqlite STP will store the database file there.

Installation guide

The installation guide can be found on our website.

You want to contribute?

Check out our workflow.

About the developers

The SystemTestPortal is developed by students of the Institute of Software Technology at the Universität Stuttgart in a student project.

License

GNU GPL-3.0

Directories

Path Synopsis
cmd
Package cmd contains functionality correlating to the command line.
Package cmd contains functionality correlating to the command line.
stp
Package config is responsible for managing the configuration of this application.
Package config is responsible for managing the configuration of this application.
Package domain contains the entities of the system(project/group/...) and their properties (e.g.
Package domain contains the entities of the system(project/group/...) and their properties (e.g.
id
Package store holds everything that has to do with persistence and manages stored data.
Package store holds everything that has to do with persistence and manages stored data.
web
Package web contains all the logic that makes this software a web-service.
Package web contains all the logic that makes this software a web-service.
context
Package context is used to create a context that can be passed to the execution of templates.
Package context is used to create a context that can be passed to the execution of templates.
errors
Package errors contains helpful types and structures simplifying error handling.
Package errors contains helpful types and structures simplifying error handling.
handler
Package handler contains the logic of the server.
Package handler contains the logic of the server.
handler/assignment
Package assignment handles the assigning of tests to users.
Package assignment handles the assigning of tests to users.
handler/creation
Package creation contains the logic to create or add elements.
Package creation contains the logic to create or add elements.
handler/deletion
Package deletion contains the logic for deleting or removing elements.
Package deletion contains the logic for deleting or removing elements.
handler/display
Package display contains the logic for showing elements of the system, e.g.
Package display contains the logic for showing elements of the system, e.g.
handler/duplication
Package duplication handles duplicating elements (e.g.
Package duplication handles duplicating elements (e.g.
handler/execution
Package execution handles the execution of cases and sequences.
Package execution handles the execution of cases and sequences.
handler/json
Package json contains functions to serve and receive data as json.
Package json contains functions to serve and receive data as json.
handler/list
Package list contains the logic for listing elements and everything that comes with listing, like filtering, sorting, etc.
Package list contains the logic for listing elements and everything that comes with listing, like filtering, sorting, etc.
handler/printing
Package printing contains the logic for printing elements of the system.
Package printing contains the logic for printing elements of the system.
handler/update
Package update contains the logic for updating elements in the system (cases/sequences/projects...).
Package update contains the logic for updating elements in the system (cases/sequences/projects...).
handler/usersession
Package usersession contains the logic for usersession handling.
Package usersession contains the logic for usersession handling.
routing
Package routing contains the routing for the application.
Package routing contains the routing for the application.
templates
Package templates is used to easily retrieve parsed templates without hassle.
Package templates is used to easily retrieve parsed templates without hassle.

Jump to

Keyboard shortcuts

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