All Projects → strongqa → Howitzer

strongqa / Howitzer

Licence: mit
Ruby-based framework for acceptance testing

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Howitzer

cucumber
Cucumber testing framework for Rust. Fully native, no external test runners or dependencies.
Stars: ✭ 322 (+79.89%)
Mutual labels:  bdd, cucumber
Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+2970.95%)
Mutual labels:  bdd, cucumber
gherkin
Pure Rust implementation of Gherkin language (`.feature` file) for Cucumber testing framework.
Stars: ✭ 41 (-77.09%)
Mutual labels:  bdd, cucumber
pactum
REST API Testing Tool for all levels in a Test Pyramid
Stars: ✭ 190 (+6.15%)
Mutual labels:  bdd, cucumber
Cypress Cucumber Example
An example skeleton with Cypress and Cucumber
Stars: ✭ 57 (-68.16%)
Mutual labels:  bdd, cucumber
Android-Cucumber-BDD-Sample
A sample project that has most of the tests and code written in a Behaviour Driven Development style, using the Cucumber framework.
Stars: ✭ 29 (-83.8%)
Mutual labels:  bdd, cucumber
Behat
BDD in PHP
Stars: ✭ 3,696 (+1964.8%)
Mutual labels:  bdd, cucumber
Awesome-Cucumber
A collection of awesome Cucumber and Gherkin-related resources
Stars: ✭ 33 (-81.56%)
Mutual labels:  bdd, cucumber
Radish
Behavior Driven Development tooling for Python. The root from red to green.
Stars: ✭ 153 (-14.53%)
Mutual labels:  bdd, cucumber
Cucumber Api
API validator in BBD style with Cucumber
Stars: ✭ 50 (-72.07%)
Mutual labels:  bdd, cucumber
gavel-spec
Behavior specification for Gavel, validator of HTTP transactions
Stars: ✭ 105 (-41.34%)
Mutual labels:  bdd, cucumber
Gunit
GUnit - Google.Test/Google.Mock/Cucumber on steroids
Stars: ✭ 156 (-12.85%)
Mutual labels:  bdd, cucumber
karate-runner
VSCode Extension for Karate
Stars: ✭ 23 (-87.15%)
Mutual labels:  bdd, cucumber
spring-boot-microservice-best-practices
Best practices and integrations available for Spring Boot based Microservice in a single repository.
Stars: ✭ 139 (-22.35%)
Mutual labels:  bdd, cucumber
demo-webdriverio-cucumber
E2E Tests with WebdriverIO and Cucumber
Stars: ✭ 28 (-84.36%)
Mutual labels:  bdd, cucumber
bat
Gherkin based DSL for testing HTTP APIs via Cucumber.JS
Stars: ✭ 30 (-83.24%)
Mutual labels:  bdd, cucumber
codeceptjs-bdd
Javascript BDD UI Automation Framework. Exclusive LWC Shadow DOM Support. Playwright, Webdriver.io, Appium, Saucelabs.
Stars: ✭ 35 (-80.45%)
Mutual labels:  bdd, cucumber
scenari
Clojure BDD library - Executable Specification with Behavior-Driven Development
Stars: ✭ 57 (-68.16%)
Mutual labels:  bdd, cucumber
Aruba
Test command-line applications with Cucumber-Ruby, RSpec or Minitest. The most up to date documentation can be found on Cucumber.Pro (https://app.cucumber.pro/projects/aruba)
Stars: ✭ 900 (+402.79%)
Mutual labels:  bdd, cucumber
Godog
Cucumber for golang
Stars: ✭ 1,287 (+618.99%)
Mutual labels:  bdd, cucumber

Howitzer

Ruby-based framework for acceptance testing of web applications.

The framework was built with modern patterns, techniques, and tools in automated testing in order to speed up tests development and simplify supporting.

Coverage Status

Key Benefits

  • Independent of a web application technical stack, language and architecture.
  • Fast installation and configuration of the complete testing infrastructure (takes less than 5 minutes).
  • Elegant, intuitive and powerful Ruby language underneath.
  • Possibility to choose your favorite BDD tool (Cucumber, RSpec or Turnip).
  • Integration with SauceLabs, Testingbot, BrowserStack, CrossBrowserTesting cloud services.
  • Integration with MailGun, Gmail, Mailtrap email services.
  • Easy tests support based on the best patterns, techniques, principles.
  • Ability to execute tests against to both browserless driver and actual browsers with no changes in your tests.

Documentation

Refer to the GETTING STARTED document to start working with Howitzer.

You can also find the Rdoc documentation on Rubygems.

Related Products

Requirements

Setup

To install, type

gem install howitzer

Usage

Browse to a desired directory where a new project will be created.

To generate the project with Cucumber, type:

howitzer new <PROJECT NAME> --cucumber

With Rspec:

howitzer new <PROJECT NAME> --rspec

With Turnip:

howitzer new <PROJECT NAME> --turnip

Configuration

Learn and specify correct default settings in the config/default.yml file. For more details, please refer to the original sexy_settings gem.

Test Implementation Workflow

  • Prepare BDD feature with scenarios
  • Mark feature/scenarios with priority tags.
  • Implement prerequisites generation (optional):
    • implement factories
    • implement models
  • Implement appropriate pages in the web/pages folder. For details, refer to Page Object Pattern.
  • Implement emails in emails folder (optional).
  • Implement scenarios:
    • For Cucumber:
      1. Read and learn Cucumber Best Practices
      2. Implement step definitions in the features/step_definitions folder.
    • For Rspec: Use DSL provided by Capybara to create descriptive acceptance tests.
    • For Turnip: Implement step definitions in the spec/steps folder.
  • Debug features against to desired drivers.
  • Enjoy it!

Rake Tasks

Rake was originally created to handle software build processes, but the combination of convenience and flexibility that it provides has made it the standard method of job automation for Ruby projects.

You can get a list of all available tasks by typing the following command:

rake -T

Upgrading Howitzer

Before attempting to upgrade an existing project, you should be sure you have a good reason to upgrade. You need to balance several factors: the need for new features, the increasing difficulty of finding support for old code, and your available time and skills, to name a few.

From version v1.1.0 howitzer provides howitzer update command. After updating the Howitzer version in the Gemfile, run following commands:

bundle update howitzer
bundle exec howitzer update

This will help you with the creation of new files and changes of old files in an interactive session.

Don't forget to review the difference, to see if there were any unexpected changes and merge them. It is easy if your project is under revision control systems like Git.

Additional Information

Contributing

Please see CONTRIBUTING.md.

howitzer was originally designed by Roman Parashchenko and is now maintained by StrongQA team. You can find list of contributors here open source community.

License

howitzer is Copyright © 2012-2017 Roman Parashchenko and StrongQA Ltd. It is free software, and may be redistributed under the terms specified in the LICENSE file.

About StrongQA

StrongQA

howitzer is maintained and funded by StrongQA, Ltd. The names and logos for StrongQA are trademarks of StrongQA, Ltd.

We love open source software! See our other projects or hire us to consult and develop testing solutions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].