Code Monkey home page Code Monkey logo

golem's Introduction

Golem - Test Automation Framework

Build Status Documentation Status PRs Welcome Join the chat at https://gitter.im/golem-framework/golem

Intro

Automate end to end tests in minutes, not hours.

Golem is a complete test automation tool and framework for end-to-end testing. It creates powerful, robust and maintainable test suites, it's easy to learn even without a lot of programming knowledge. It is based on Selenium Webdriver and it can be extended using Python.

It can:

  • Use the Page Object pattern
  • Write tests with multi data sets (data-driven)
  • Run tests in parallel.
  • Test APIs
  • Run tests remotely (Selenium Grid or a cloud testing provider)
  • It can be executed from Jenkins or any other CI tool

It has:

  • A complete GUI module (a web application) to write and execute tests
  • A reporting engine and a web reports module
  • An interactive console

Please note: Golem is still in beta. Read the changelog before upgrading.


Contents

Screen Captures

Test Builder

Test as Pure Python Code

Report Dashboard

Execution Report

Test Execution Detail

Pre-requisites

Basic knowledge of Selenium Webdriver is required. Check out this docs first.

Installation

Golem works with Python 3.4+

pip install golem-framework

Read the full installation guide here: https://golem-framework.readthedocs.io/en/latest/installation.html

Quick Start

Create a test directory anywhere in your machine

golem-admin createdirectory <test_directory>

Download the latest webdriver executables

cd <test_directory>
webdriver-manager update

Webdriver executables can be downloaded manually. Place them in a known location (e.g. in <test_directory>/drivers) and make sure the settings.json has the correct path to the executables (e.g. "chromedriver_path": "./drivers/chromedriver*"). Note: use '*' wildcard to match latest version automatically.

The latests versions of the webdrivers can be found here:

For more information check this page of the documentation.

Start the Web Module

golem gui

The Web Module can be accessed at http://localhost:5000/

By default, the following user is available: username: admin / password: admin

Run a Test From Console

golem run <project> <test>

Flags:

  • -b | --browsers: a list of browsers, by default use defined in settings.json or Chrome
  • -t | --threads: run in parallel, default 1 (not parallel)
  • -e | --environments: a list of environments, default is none

Documentation

Read the full documentation here: https://golem-framework.readthedocs.io/

Example Projects

Here is a repo with example working projects usign Golem: https://github.com/lucianopuccio/golem-demo

Roadmap

  • Integrate with Appium for mobile testing
  • Improve API test Golem actions
  • Video recording

License

MIT

golem's People

Contributors

luciano-renzi avatar lucianopuccio avatar leroyshirto avatar hultner avatar fabiorosado avatar martindimondo avatar r-roos avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.