Howitzer is Ruby based framework for acceptance testing.
Initially it was developed for testing of web applications, but it is applicable to testing of web services or some API as well. The framework uses modern patterns, techniques and tools in automated testing area. For details, please see Test Framework Design.
- Independent of test web application, its technologies and lanquage.
- Deploy all test infrastructure for 5 minutes.
- Flexible test framework configuration.
- Ability to choose desired BDD tool (Cucumber or RSpec)
- Itegration with SauceLabs, Testingbot and Mailgun web services.
- Easy to support tests in actual state.
- Ability to execute tests against to both browserless driver and actual browsers with no changes in your tests.
- Ability to check all links are valid
See GETTING_STARTED how to work with howitzer.
Also you can find Rdoc documentation on Rubygems.
- Howitzer Example - Demo Rails application and Acceptance tests
- Howitzer Stat - Howitzer extension for test coverage visualization of web web pages
To install, type
gem install howitzer
navigate to desired directory where new project will be created
To deploy the framework with Cucumber, type:
howitzer new <PROJECT NAME> --cucumber
This command will generate next folders and files:
howitzer new <PROJECT NAME> --rspec
With both the ones:
howitzer new <PROJECT NAME> --cucumber --rspec
Learn and specify correct default settings in
config/default.yml file. For details, please see original sexy_settings gem.
Test implementation workflow
- Prepare Features and Scenarios
- Implement appropriate pages in
pagesfolder. For details, see Page Object Pattern.
- Implement emails in
- Implement scenarios:
- Debug feature against to desired driver.
- Enjoy it!
You can list all available tasks with next command
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request