All Projects → rajatthareja → Reportbuilder

rajatthareja / Reportbuilder

Licence: mit
Ruby gem to merge Cucumber JSON reports and build mobile-friendly HTML Test Report, JSON report and retry file.

Projects that are alternatives of or similar to Reportbuilder

Maily
📫 Rails Engine to preview emails in the browser
Stars: ✭ 502 (+627.54%)
Mutual labels:  rubygem
Sense Client
Quick and dirty Ruby client for the Hello Sense sleep tracker. Based on http://jeffhuang.com/extracting_my_data_from_the_hello_sense.html
Stars: ✭ 20 (-71.01%)
Mutual labels:  rubygem
Dry Validation
Validation library with type-safe schemas and rules
Stars: ✭ 1,087 (+1475.36%)
Mutual labels:  rubygem
Scientist
🔬 A Ruby library for carefully refactoring critical paths.
Stars: ✭ 6,301 (+9031.88%)
Mutual labels:  rubygem
App store connect
A Ruby interface to the App Store Connect API
Stars: ✭ 22 (-68.12%)
Mutual labels:  rubygem
Rom Elasticsearch
Elasticsearch adapter for rom-rb
Stars: ✭ 30 (-56.52%)
Mutual labels:  rubygem
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 (+579.71%)
Mutual labels:  rubygem
Vagrant Cloudstack
Use Vagrant to manage your Cosmic or Cloudstack instances.
Stars: ✭ 65 (-5.8%)
Mutual labels:  rubygem
Human name parser
A name parsing library
Stars: ✭ 7 (-89.86%)
Mutual labels:  rubygem
Tty Font
Terminal fonts
Stars: ✭ 44 (-36.23%)
Mutual labels:  rubygem
Materialize Sass
Materializecss rubygem for Rails Asset Pipeline / Sprockets
Stars: ✭ 785 (+1037.68%)
Mutual labels:  rubygem
Green Button Data
Fast Ruby parser and API client for Green Button data
Stars: ✭ 18 (-73.91%)
Mutual labels:  rubygem
Kraken Ruby
Official Ruby Gem for Kraken API
Stars: ✭ 34 (-50.72%)
Mutual labels:  rubygem
Runbook
A framework for gradual system automation
Stars: ✭ 531 (+669.57%)
Mutual labels:  rubygem
Spark api
Ruby client library for communication with the Spark API
Stars: ✭ 56 (-18.84%)
Mutual labels:  rubygem
Gingerice
Ruby wrapper for correcting spelling and grammar mistakes based on the context of complete sentences.
Stars: ✭ 478 (+592.75%)
Mutual labels:  rubygem
Sql Composer
Standalone SQL composer DSL for Ruby
Stars: ✭ 26 (-62.32%)
Mutual labels:  rubygem
Str metrics
Ruby gem (native extension in Rust) providing implementations of various string metrics
Stars: ✭ 68 (-1.45%)
Mutual labels:  rubygem
Rom Http
Abstract HTTP adapter for ROM
Stars: ✭ 65 (-5.8%)
Mutual labels:  rubygem
Fastlane Plugin Google drive
fastlane plugin to upload files to Google Drive
Stars: ✭ 39 (-43.48%)
Mutual labels:  rubygem

ReportBuilder

Gem Version Build status Windows Build status Join the chat at https://gitter.im/rajatthareja/ReportBuilder

Ruby gem to merge Cucumber JSON reports and build mobile-friendly HTML Test Report, JSON report and retry file.

Sample Reports

Features Report

Grouped Features Report

Installation

gem install report_builder

Information

Usage

Note: Works with cucumber(>= 2.1.0) test results in JSON format.

Config Options:

Option Type Default Values
json_path/input_path [String]/[Array]/[Hash] (current directory) input json files path / array of json files or path / hash of json files or path
report_path [String] 'test_report' reports output file path with file name without extension
json_report_path [String] (report_path) json report output file path with file name without extension
html_report_path [String] (report_path) html report output file path with file name without extension
retry_report_path [String] (report_path) retry report output file path with file name without extension
report_types [Array] [:html] :json, :html, :retry (output file types)
report_title [String] 'Test Results' report and html title
include_images [Boolean] true true / false (If false, the size of HTML report is reduced by excluding embedded images)
voice_commands [Boolean] false true / false (Enable voice commands for easy navigation and search)
additional_info [Hash] {} additional info for report summary
additional_css [String] nil additional CSS string or CSS file path or CSS file url for customizing html report
additional_js [String] nil additional JS string or JS file path or JS file url for customizing html report
color [String] brown report color, Ex: indigo, cyan, purple, grey, lime etc.

Code Examples:

     require 'report_builder'
    
    # Ex 1:
    ReportBuilder.configure do |config|
      config.input_path = 'results/cucumber_json'
      config.report_path = 'my_test_report'
      config.report_types = [:retry, :html]
      config.report_title = 'My Test Results'
      config.additional_info = {browser: 'Chrome', environment: 'Stage 5'}
    end
    
    ReportBuilder.build_report
    
    # Ex 2:
    ReportBuilder.input_path = 'results/cucumber_json'
    ReportBuilder.report_path = 'my_test_report'
    ReportBuilder.report_types = [:retry, :html]
    ReportBuilder.report_title = 'My Test Results'
    ReportBuilder.additional_info = {Browser: 'Chrome', Environment: 'Stage 5'}
    
    ReportBuilder.build_report
    
    # Ex 3:
    options = {
       input_path: 'results/cucumber_json',
       report_path: 'my_test_report',
       report_types: ['retry', 'html'],
       report_title: 'My Test Results',
       additional_info: {'Browser' => 'Chrome', 'Environment' => 'Stage 5'}
     }
    
    ReportBuilder.build_report options
    
    # Ex 4:
    ReportBuilder.input_path = 'results/cucumber_json'
    
    ReportBuilder.configure do |config|
      config.report_path = 'my_test_report'
      config.report_types = [:json, :html]
    end
    
   options = {
       report_title: 'My Test Results'
   }
   
   ReportBuilder.build_report options
        

Grouped Features Report Example:

ReportBuilder.configure do |config|
     config.input_path = {
      'Group A' => ['path/of/json/files/dir1', 'path/of/json/files/dir2'],
      'Group B' => ['path/of/json/file1', 'path/of/json/file2'],
      'Group C' => 'path/of/json/files/dir'}
  end

ReportBuilder.build_report

CLI Options:

Option Values Explanation
-s, --source x,y,z List of input json path or files
-o, --out [PATH]NAME Reports path with name without extension
--json_out [PATH]NAME JSON report path with name without extension
--html_out [PATH]NAME HTML report path with name without extension
--retry_out [PATH]NAME Retry report path with name without extension
-f, --format x,y,z List of report format - html,json,retry
--[no-]images Reduce HTML report size by excluding embedded images
-T, --title TITLE Report title
-c, --color COLOR Report color
-I, --info a:x,b:y,c:z List of additional info about test - key:value
--css CSS/PATH/URL Additional CSS string or CSS file path or CSS file url for customizing html report
--js JS/PATH/URL Additional JS string or JS file path or JS file url for customizing html report
-vc, --voice_commands Enable voice commands for easy navigation and search
-h, --help Show available command line switches
-v, --version Show gem version

CLI Example:

     report_builder
     report_builder -s 'path/of/json/files/dir'
     report_builder -s 'path/of/json/files/dir' -o my_report_file

Hook Example:

require 'report_builder'
    
at_exit do
  ReportBuilder.configure do |config|
    config.input_path = 'results/cucumber_json'
    config.report_path = 'results/report'
  end
  ReportBuilder.build_report
end

Voice Commands:

Use voice commands for easy navigation and search

  • show ( overview, features, summary, errors )
  • search { Keywords }

Report Builder Java API

Report Builder Java

Contributing

We're open to any contribution. It has to be tested properly though.

License

Copyright (c) 2017 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].