Who Created chercher tech jasmine reporter ?

Chercher tech jasmine reporter is created by a team lead by Pavankumar and the team members are:

What are the technologies can use chercher tech jasmine reporter ;

Chercher tech jasmine reporter can be used with any technology where they use Jasmine framework for testing the code. This reporter is mostly used with Java Script and its varieties like Typescript, Coffee Script.

For using chercher tech reporter it is mandatory to have jasmine in your system

Installation

You can install the chercher tech jasmine reporter by entering following command in your Command prompt/Terminal

npm install chercher-tech-jasmine-reporter

or you can install the package in global

npm install chercher-tech-jasmine-reporter -g

How to use chercher-tech-jasmine-reporter

After installation go to your conf file where you have configured your jasmine add below block of code if you donot have Onprepare method

Configuration for non-protractor people :

As you might aware that jasmine can be used with unit testing of javascript code and its variants, if you donot have javascript code please use the below configuration.


onPrepare: function() {

	var ChercherTechJasmineReporter = require('chercher-tech-jasmine-reporter');

	jasmine.getEnv().addReporter(new ChercherTechJasmineReporter({
		reportName:'Provide Report Name',
		showSkipped:true,
		showLineChart:true
	}));
}

Configuration for non-protractor people :

When you are using the jasmine with protractor then you might need to take screenshots on fail, sometimes you might donot want to take screenshots at all. Set the values accordingly


onPrepare: function() {
	var ChercherTechJasmineReporter = require('chercher-tech-jasmine-reporter');

	jasmine.getEnv().addReporter(new ChercherTechJasmineReporter({
		screenshotOnFail :true,
		reportName:'Provide Report Name',
		showSkipped:true,
		browser:browser,
		showLineChart:true
		
	}));
}

Parameters :

Using below parameter you can alter the report according to your need.

  • screenshotOnFail : Capture the screenshot on failure of test cases i.e it block, if you donot provide browser object then it will not take screenshots
  • reportName :
  • showSkipped : We have added this option because, sometime you might have n-number of test but if you are running only one test case from the a describe block then you might get result in report for the skipped Describe blocks. these Skips are more it would occupy lot of page space, so you can set this value if you do not want to see the skipped describe blocks.

    A describe block is considered as skipped only if all the it blocks are skipped in that describe block.
  • browser : Browser object is important for taking screenshot in protractor, if your execution does not involve browser then you can avoid the parameter
  • showLineChart : In below section you can see a line chart is drawn, stories as X axis and status as y axis, if you donot want the line chart then set this parameter to false. By default the showLineChart value is true.

Sample Report Images

Line charts and details :

Line chart provide the details execution graph, from the line chart you can get to know if there is any dependency failures because of previous test cases. You an turn it off, if you like line charts in chercher tech report

Pie Charts :

Pie charts provide the calculations like how many test are passed and how many test are failed and skipped. It will also provide the number of steps/pass/fail/skips, along with pass percentage pie chart in chercher tech report

Tests and Details :

In this section, you will see the details of the user stories and test cases, we will get the details of failures. [Screenshot is only applicable if you are running the test in browser.] test details in chercher tech report

FAQ

Who can use it :

Any body can use it as long as they want to use it, but credits should go to actual creator

Do I need to pay to use it :

Hell, NO, for organizations as well

Do I need to get Permission to use chercher tech reporter :

Nope

Do I need to get Permission to republish it :

YES, you should, get our details from About us Page

What is the first version name :

0.0.6

About Author

This post is written by Pavankumar who also lead the team of this report creators

Share this Article Facebook
Comment / Suggestion Section
Point our Mistakes and Post Your Suggestions
  • Vijay
    Hey KarthiQ,
    
    Thanks for this report implementation.
    Wanted to check can we have all console.log statements printed into the report generated. This will help us in debugging as well.
    Thanks in advance.
    Reply
    • karthiQ [ admin]
      It doenot matter Vijay,  Protractor works in Asynchronous way so if you write console.logs then those will be printed whether first step of test cases executes or not.
      
      Even it is possible to get console.logs but it is of no use
      Reply
  • vivek
    1.when I use this require('chercher-tech-jasmine-reporter'); in place of (protractor-jasmine2-screenshot-reporter), it showing error like reporter.beforelaunch/AfterLaunch is not a function. if I don't use this ('chercher-tech-jasmine-reporter')… then everything runs successful.
    
    2. And what is the use of Browser:browser,(if I skip this what would be the impact? )
    Conclusion: I am not getting any report like yours :(
    
    Reply
    • karthiQ [ admin]
      Hi Vivek,
      
      Please let us know where you are using Javascript or typescript as well as are youusing this report for Protractor ?
      
      browser option is required for taking screenshots. Please send me the configuration file that you are using, to karthiq.chercher@gmail.com
      Reply
      • vivek
        Please check this. On email its not sending. 
        
        var HtmlScreenshotReporter = require('chercher-tech-jasmine-reporter');
        var reporter = new HtmlScreenshotReporter({
        	 dest: 'C:/Users/vivek.katare/Desktop/protractor report',
        	 filename: 'my-report.html',
        	// dest: 'C:/Users/vivek.katare/eclipse-workspace/Protract/temp/TestResults',
        	   // screenshotOnFail :true,
        		reportName:'Provide Report Name',
        		showSkipped:true,
        	//	browser:browser,
        		showLineChart:true	 
        });
        exports.config = {
          seleniumAddress: 'http://localhost:4444/wd/hub',
          Capabalities:{
        	  'browserName' : 'chrome'	  
          },
        //Setup the report before any tests start
          beforeLaunch: function() {
             return new Promise(function(resolve){
               reporter.beforeLaunch(resolve);
             });
          },
          specs:["C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/AddSpec.js"],
         
        	  suites: {
        	  customerlogin:    ['C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/Firstfile.js',
        		                 'C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/customerLogin.js'],
        	  managerlogin :	['C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/managerLogin.spec.js'] ,
              Calculator   :    ['calc.js'],
              ExcelReading :    ['UtilityExcelRead.js'],
              SendingMail  :    ['Utilitysendmail.js']
          },
           cucumberOpts: {
        	    format:  'pretty',
        	    require: './step_definitions/*.js', // This is where we'll be writing our actual tests
        	  },
        
        jasmineNodeOpts: {
            showColors: true,
            isVerbose: true,
            realtimeFailure: true,
            includeStackTrace: true,
            defaultTimeoutInterval: 30000
          },
          onPrepare: function () {
              browser.manage().window().maximize();
              browser.manage().timeouts().implicitlyWait(5000);
              jasmine.getEnv().addReporter(reporter);
        
            	},
          
        //Close the report after all tests finish
          afterLaunch: function(exitCode) {
             return new Promise(function(resolve){
               reporter.afterLaunch(resolve.bind(this, exitCode));
             });
          }
          
        };
        Reply
        • karthiQ [ admin]
          Hi  Vivek,
          Please do mind that, when you different configuration you got to set the things up for that particular report. You made simple thing as complicated, below s your modified conf file.
          ----------------------
          
          var chercherTechReporter = require('chercher-tech-jasmine-reporter');
          
          exports.config = {
            chromeDriver: 'D:/Eclipse progs/driverserver/chromedriver.exe',
            seleniumServerJar: 'D:/Eclipse progs/jars/selenium-server-standalone-3.11.0.jar',
            // seleniumAddress: 'http://localhost:4444/wd/hub',
            Capabalities:{
          	  'browserName' : 'chrome'	  
            },
            specs:["C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/AddSpec.js"],
           
          	  suites: {
          	  customerlogin:    ['C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/Firstfile.js',
          		                 'C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/customerLogin.js'],
          	  managerlogin :	['C:/Users/vivek.katare/eclipse-workspace/Protract/TestCases/managerLogin.spec.js'] ,
                Calculator   :    ['calc.js'],
                ExcelReading :    ['UtilityExcelRead.js'],
                SendingMail  :    ['Utilitysendmail.js']
            },
             cucumberOpts: {
          	    format:  'pretty',
          	    require: './step_definitions/*.js', // This is where we'll be writing our actual tests
          	  },
          
          jasmineNodeOpts: {
              showColors: true,
              isVerbose: true,
              realtimeFailure: true,
              includeStackTrace: true,
              defaultTimeoutInterval: 30000
            },
            onPrepare: function () {
                browser.manage().window().maximize();
                browser.manage().timeouts().implicitlyWait(5000);
          
                var reporter = new chercherTechReporter({
                  dest: 'C:/Users/vivek.katare/Desktop/protractor report',
                  filename: 'my-report.html',
                 // dest: 'C:/Users/vivek.katare/eclipse-workspace/Protract/temp/TestResults',
                    // screenshotOnFail :true,
                   reportName:'Provide Report Name',
                   showSkipped:true,
                 //	browser:browser,
                   showLineChart:true	 
               });
                jasmine.getEnv().addReporter(reporter);
          
              	},
            
          
            
          };
          
          Reply
  • vivek
    Hello . It is very beautiful  report. But when I run this code. It saying " browser" is not defined.   where I need to define it? if I commented this line. I am not getting neither graphical report nor bar report. I am getting only normal report(jasmine report only)
    Reply
  • Anil
    I have implemented your reporting in my project. I am unable to see the test cases in report.
    
    After the execution is done i am getting below error
    - TypeError: Cannot read property 'toJSON' of undefined
      - TypeError: Cannot read property 'toJSON' of undefined
    
    
    Reply
    • karthiQ [ admin]
      Please let me know the combination of option on report that you are using, 
      Reply
  • Vishnu Ram
    Hi karthiQ, 
    
    This is really fantastic reporting structure. The reporting details is really good like Pie charts, Line charts and test case details.
    
    i used the same configuration in config file which you have mentioned. 
    
    >But when we execute a batch of 2 test cases ( 2 spec files ) < i am getting 2 seperate html reports. Is there any way to have it as a single html report.
    > The html report is created just in the root folder< is there any way to have one common folder and have the report and screenshots folder inside it.
    
    Please help and update.
    
    Once again , this is a very good report and i really enjoy it.
    
    I faced some problems while implementing it, I just used the same config file setting for 
    Reply
    • karthiQ [ admin]
      1. Let us know the combination you are using in your spec file. If you are using parallel run then it would created the reports  based on the number of runs
      2. For Screenshot, next version will have a option to provide path for screenshot and report.
      
      we will release the version before next monday
      Reply
      • In continuation to my previous ques,
        
        I am using the 2 separate .js as spec files , each have one describe block and one it block . The skeleton is as follows,
        
        'use strict';
        describe("sample") => {
        it("sample 1") => {
        });
        });
        
        
        Reply
        • karthiQ [ admin]
          We are sorry Vishnu, we are not able to reproduce the two report for two describe blocks.
          
          More than one report is generated only when you run the execution in Parallel mode.
          
          If possible mail the conf file and spec file with dummy data, we will have a look into it.
          
          mail us : karthiq.chercher@gmail.com
          Reply
  • santosh
    Hello. First of all appreciate your work for developing such nice fancy report which management always looks.
    
    I tried this report in my current project & observe couple of issues. 
    1. I had skipped some of the scripts & ran only one. However in report, all the skipped cases shown as Pass. 
    2. It would be added advantage if we can show which verification pass in report for the Pass case. Suppose I have more than 10 assertions in one case & script fails in any of the assertion then we can at least verify which assertion Pass & which Fails
    Reply
    • karthiQ [ admin]
      Hi Santosh,
      
      Pass expect statement does not provide any meaning full message because of which we have not included it.
      
      
      Please let me know the combination of your skip issue, we can focus on this and will try to solve this weekend
      
      Send me combination over karthiq.chercher@gmail.com
      Reply
  • Copyright © CherCher Tech