Golem - Test Automation Framework
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
- Pre-requisites
- Installation
- Quick Start
- Documentation
- Example Projects
- Roadmap
- License
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:
- Chrome: (https://sites.google.com/a/chromium.org/chromedriver/)
- Firefox: (https://github.com/mozilla/geckodriver/releases)
- IE: (http://selenium-release.storage.googleapis.com/index.html)
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