Howitzer - 基于ruby的验收测试框架

网友投稿 617 2022-10-23

Howitzer - 基于ruby的验收测试框架

Howitzer - 基于ruby的验收测试框架

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.

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

Howitzer Example RSpec – an example of Howitzer based project for demo web application based on RSpec.Howitzer Example Cucumber – an example of Howitzer based project for demo web application based on Cucumber.Howitzer Example Turnip – an example of Howitzer based project for demo web application based on Turnip.

Requirements

Supported OS: Mac OS X, Linux, WindowsRuby 2.3+DevKit (For Windows only)PhantomJS (For poltergeist driver only)ChromeDriver (For chrome selenium browser, 2.29+ for headless mode)GeckoDriver (For firefox selenium browser)SafariDriver (For safari selenium browser)QT (For webkit driver only)Chrome v.59+ (For headless chrome support)Firefox v.56+ (For headless firefox support)Android SDK and Appium (For Appium driver)

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 --cucumber

With Rspec:

howitzer new --rspec

With Turnip:

howitzer new --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 scenariosMark feature/scenarios with priority tags.Implement prerequisites generation (optional): implement factoriesimplement 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: Read and learn Cucumber Best PracticesImplement 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 howitzerbundle 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

RubygemsMailing listIssuesDeveloper chat

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

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.

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:JUC并发容器1(CopyOnWriteArrayList、CopyOnWriteArraySet、ConcurrentSkipListSet)
下一篇:godog - 类似Cucumber或Behat的BDD Go框架
相关文章

 发表评论

暂时没有评论,来抢沙发吧~