All Projects → rlafranchi → System_tester

rlafranchi / System_tester

Licence: mit
A Development Tool for creating and managing system tests for Ruby on Rails >= 5.1 Applications

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to System tester

Motion
Reactive frontend UI components for Rails in pure Ruby
Stars: ✭ 498 (+582.19%)
Mutual labels:  rails, ruby-gem
Devise Jwt
JWT token authentication with devise and rails
Stars: ✭ 881 (+1106.85%)
Mutual labels:  rails, ruby-gem
Karate
Test Automation Made Simple
Stars: ✭ 5,497 (+7430.14%)
Mutual labels:  testing-tools, test-automation
Es Check
Checks the version of ES in JavaScript files with simple shell commands 🏆
Stars: ✭ 448 (+513.7%)
Mutual labels:  testing-tools, test-automation
Detox
High velocity native mobile development requires us to adopt continuous integration workflows, which means our reliance on manual QA has to drop significantly. Detox tests your mobile app while it’s running in a real device/simulator, interacting with it just like a real user.
Stars: ✭ 8,988 (+12212.33%)
Mutual labels:  test-automation, testing-tools
Awesome Test Automation
A curated list of awesome test automation frameworks, tools, libraries, and software for different programming languages. Sponsored by http://sdclabs.com
Stars: ✭ 4,712 (+6354.79%)
Mutual labels:  testing-tools, test-automation
Mobility
Pluggable Ruby translation framework
Stars: ✭ 644 (+782.19%)
Mutual labels:  rails, ruby-gem
Tlsfuzzer
SSL and TLS protocol test suite and fuzzer
Stars: ✭ 335 (+358.9%)
Mutual labels:  testing-tools, test-automation
Creds
Encrypted & plain text credentials for multiple environments
Stars: ✭ 38 (-47.95%)
Mutual labels:  rails, ruby-gem
Pyats Docker
Dockerfile and scripts for pyATS
Stars: ✭ 34 (-53.42%)
Mutual labels:  testing-tools, test-automation
Devise masquerade
Extension for devise, enable login as functionality. Add link to the masquerade_path(resource) and use it.
Stars: ✭ 380 (+420.55%)
Mutual labels:  rails, ruby-gem
Qtools
QTools collection of open source tools for embedded systems development on Windows, Linux and MacOS
Stars: ✭ 64 (-12.33%)
Mutual labels:  testing-tools, test-automation
Isolator
Detect non-atomic interactions within DB transactions
Stars: ✭ 362 (+395.89%)
Mutual labels:  rails, testing-tools
Matestack Ui Core
Matestack enables you to create sophisticated, reactive UIs in pure Ruby, without touching JavaScript and HTML. You end up writing 50% less code while increasing productivity, maintainability and developer happiness.
Stars: ✭ 469 (+542.47%)
Mutual labels:  rails, ruby-gem
Loaf
Manages and displays breadcrumb trails in Rails app - lean & mean.
Stars: ✭ 360 (+393.15%)
Mutual labels:  rails, ruby-gem
Carina
Carina automation framework: Web, Mobile, API, DB
Stars: ✭ 549 (+652.05%)
Mutual labels:  testing-tools, test-automation
Pluck to hash
Extend ActiveRecord pluck to return array of hashes
Stars: ✭ 275 (+276.71%)
Mutual labels:  rails, ruby-gem
Nut.js
Native UI testing / controlling with node
Stars: ✭ 309 (+323.29%)
Mutual labels:  testing-tools, test-automation
Cypress
Fast, easy and reliable testing for anything that runs in a browser.
Stars: ✭ 35,145 (+48043.84%)
Mutual labels:  testing-tools, test-automation
Zazkia
tcp proxy to simulate connection problems
Stars: ✭ 49 (-32.88%)
Mutual labels:  testing-tools, test-automation

Build Status Code Climate Test Coverage

System Tester

A development tool for creating and managing system tests in Ruby on Rails >= 5.1 applications

Usage

This gem is used only in development and is a mountable rails engine that creates JSON endpoints for a chrome extension.

Installation

Add this line to your application's Gemfile:

gem 'system_tester', group: :development

Add the system_tester db to config/database.yml

# you may want to consider a shared MySQL/Postgres database
# if you have a team that needs shared access
system_tester:
  <<: *default
  database: db/system_tester.sqlite3

And then install and run the migrations:

$ bundle install
$ rails system_tester:migrate

Mount the engine in config/routes.rb:

Rails.application.routes.draw do
  # ... other routes
  
  # Mount in development environment only
  if Rails.env.development?
    mount SystemTester::Engine => "/system_tester"
  end
end

Start your dev server and you are good to go.

Chrome extension

System Tester Demo

The chrome extension provides a Devtools tab and acts as a client to this gem.

ADD TO CHROME

Design

System Tester is designed to work with a chrome extension, but could potentially be used for other applications as well. Run rails routes to see what endpoints are provided. The following design was set in place for the easy of reusing testing steps:

  • Features - the top level: one test script for a feature
  • Scenarios - 1:M assocation from Feature to Scenario. A Scenario is one test method.
  • Steps - Basically a line of code that can be an action or an assertion. STI is used to provide different step types.
  • ScenarioSteps - M:M assocation for Steps and Scenarios which also as a position attribute to allow for reordering.
  • Stairs - an ordered group of steps that can be reused.
  • StairSteps - M:M association to support stairs, Stair inherits from Step so the fk points back to the same table.

License

The gem is available as open source under the terms of the MIT License.

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].