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.
- Screen Captures
- Pre-requisites
- Installation
- Quick Start
- Documentation
- Example Projects
- Roadmap
- License
Test Builder
Test as Pure Python Code
Report Dashboard
Execution Report
Test Execution Detail
Basic knowledge of Selenium Webdriver is required. Check out this docs first.
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
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
Read the full documentation here: https://golem-framework.readthedocs.io/
Here is a repo with example working projects usign Golem: https://github.com/lucianopuccio/golem-demo
- Integrate with Appium for mobile testing
- Improve API test Golem actions
- Video recording