Class ReportPortalHook

  • All Implemented Interfaces:
    com.intuit.karate.RuntimeHook

    public class ReportPortalHook
    extends java.lang.Object
    implements com.intuit.karate.RuntimeHook
    ReportPortal test results reporting hook for Karate. This class publish results in the process of test pass.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected com.epam.reportportal.utils.MemoizingSupplier<com.epam.reportportal.service.Launch> launch  
    • Constructor Summary

      Constructors 
      Constructor Description
      ReportPortalHook()
      Default constructor.
      ReportPortalHook​(com.epam.reportportal.service.ReportPortal reportPortal)
      Create a new instance of the ReportPortalHook with the specified ReportPortal instance.
      ReportPortalHook​(java.util.function.Supplier<com.epam.reportportal.service.Launch> launchSupplier)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void afterFeature​(com.intuit.karate.core.FeatureRuntime fr)  
      void afterHttpCall​(com.intuit.karate.http.HttpRequest request, com.intuit.karate.http.Response response, com.intuit.karate.core.ScenarioRuntime sr)  
      void afterScenario​(com.intuit.karate.core.ScenarioRuntime sr)  
      void afterStep​(com.intuit.karate.core.StepResult stepResult, com.intuit.karate.core.ScenarioRuntime sr)  
      void afterSuite​(com.intuit.karate.Suite suite)  
      boolean beforeFeature​(com.intuit.karate.core.FeatureRuntime fr)  
      void beforeHttpCall​(com.intuit.karate.http.HttpRequest request, com.intuit.karate.core.ScenarioRuntime sr)  
      boolean beforeScenario​(com.intuit.karate.core.ScenarioRuntime sr)  
      boolean beforeStep​(com.intuit.karate.core.Step step, com.intuit.karate.core.ScenarioRuntime sr)  
      void beforeSuite​(com.intuit.karate.Suite suite)  
      protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishBackgroundRq​(com.intuit.karate.core.StepResult stepResult, com.intuit.karate.core.ScenarioRuntime sr)
      Build ReportPortal request for finish Background event.
      protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishFeatureRq​(com.intuit.karate.core.FeatureRuntime fr)
      Build ReportPortal request for finish Feature event.
      protected com.epam.ta.reportportal.ws.model.FinishExecutionRQ buildFinishLaunchRq​(com.epam.reportportal.listeners.ListenerParameters parameters)
      Customize start Launch finish event/request.
      protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishScenarioRq​(com.intuit.karate.core.ScenarioRuntime sr)
      Build ReportPortal request for finish Scenario event.
      protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishStepRq​(com.intuit.karate.core.StepResult stepResult, com.intuit.karate.core.ScenarioRuntime sr)
      Build ReportPortal request for finish Step event.
      protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartBackgroundRq​(com.intuit.karate.core.Step step, com.intuit.karate.core.ScenarioRuntime sr)
      Build ReportPortal request for start Background event.
      protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartFeatureRq​(com.intuit.karate.core.FeatureRuntime fr)
      Build ReportPortal request for start Feature event.
      protected com.epam.ta.reportportal.ws.model.launch.StartLaunchRQ buildStartLaunchRq​(com.epam.reportportal.listeners.ListenerParameters parameters)
      Customize start launch event/request
      protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartScenarioRq​(com.intuit.karate.core.ScenarioRuntime sr)
      Build ReportPortal request for start Scenario event.
      protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartStepRq​(com.intuit.karate.core.Step step, com.intuit.karate.core.ScenarioRuntime sr)
      Customize start Step test item event/request.
      void finishBackground​(com.intuit.karate.core.StepResult stepResult, com.intuit.karate.core.ScenarioRuntime sr)
      Finish sending Scenario data to ReportPortal.
      void finishLaunch()
      Finish sending Launch data to ReportPortal.
      protected void sendLog​(io.reactivex.Maybe<java.lang.String> itemId, java.lang.String message, com.epam.reportportal.listeners.LogLevel level)
      Send Step logs to ReportPortal.
      void sendStepResults​(com.intuit.karate.core.StepResult stepResult, com.intuit.karate.core.ScenarioRuntime sr)
      Send Step execution results to ReportPortal.
      io.reactivex.Maybe<java.lang.String> startBackground​(com.intuit.karate.core.Step step, com.intuit.karate.core.ScenarioRuntime sr)
      Start sending Background data to ReportPortal.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • launch

        protected final com.epam.reportportal.utils.MemoizingSupplier<com.epam.reportportal.service.Launch> launch
    • Constructor Detail

      • ReportPortalHook

        public ReportPortalHook​(com.epam.reportportal.service.ReportPortal reportPortal)
        Create a new instance of the ReportPortalHook with the specified ReportPortal instance.
        Parameters:
        reportPortal - the ReportPortal instance
      • ReportPortalHook

        public ReportPortalHook()
        Default constructor. Create a new instance of the ReportPortalHook with default ReportPortal instance.
      • ReportPortalHook

        public ReportPortalHook​(java.util.function.Supplier<com.epam.reportportal.service.Launch> launchSupplier)
    • Method Detail

      • buildStartLaunchRq

        protected com.epam.ta.reportportal.ws.model.launch.StartLaunchRQ buildStartLaunchRq​(com.epam.reportportal.listeners.ListenerParameters parameters)
        Customize start launch event/request
        Parameters:
        parameters - Launch configuration parameters
        Returns:
        request to ReportPortal
      • buildFinishLaunchRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.FinishExecutionRQ buildFinishLaunchRq​(@Nonnull
                                                                                          com.epam.reportportal.listeners.ListenerParameters parameters)
        Customize start Launch finish event/request.
        Parameters:
        parameters - Launch configuration parameters
        Returns:
        request to ReportPortal
      • finishLaunch

        public void finishLaunch()
        Finish sending Launch data to ReportPortal.
      • buildStartFeatureRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartFeatureRq​(@Nonnull
                                                                                        com.intuit.karate.core.FeatureRuntime fr)
        Build ReportPortal request for start Feature event.
        Parameters:
        fr - Karate's FeatureRuntime object instance
        Returns:
        request to ReportPortal
      • beforeFeature

        public boolean beforeFeature​(com.intuit.karate.core.FeatureRuntime fr)
        Specified by:
        beforeFeature in interface com.intuit.karate.RuntimeHook
      • buildFinishFeatureRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishFeatureRq​(@Nonnull
                                                                                          com.intuit.karate.core.FeatureRuntime fr)
        Build ReportPortal request for finish Feature event.
        Parameters:
        fr - Karate's FeatureRuntime object instance
        Returns:
        request to ReportPortal
      • afterFeature

        public void afterFeature​(com.intuit.karate.core.FeatureRuntime fr)
        Specified by:
        afterFeature in interface com.intuit.karate.RuntimeHook
      • buildStartScenarioRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartScenarioRq​(@Nonnull
                                                                                         com.intuit.karate.core.ScenarioRuntime sr)
        Build ReportPortal request for start Scenario event.
        Parameters:
        sr - Karate's ScenarioRuntime object instance
        Returns:
        request to ReportPortal
      • beforeScenario

        public boolean beforeScenario​(com.intuit.karate.core.ScenarioRuntime sr)
        Specified by:
        beforeScenario in interface com.intuit.karate.RuntimeHook
      • buildFinishScenarioRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishScenarioRq​(@Nonnull
                                                                                           com.intuit.karate.core.ScenarioRuntime sr)
        Build ReportPortal request for finish Scenario event.
        Parameters:
        sr - Karate's ScenarioRuntime object instance
        Returns:
        request to ReportPortal
      • buildStartBackgroundRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartBackgroundRq​(@Nonnull
                                                                                           com.intuit.karate.core.Step step,
                                                                                           @Nonnull
                                                                                           com.intuit.karate.core.ScenarioRuntime sr)
        Build ReportPortal request for start Background event.
        Parameters:
        step - Karate's Step object instance
        sr - Karate's ScenarioRuntime object instance
        Returns:
        request to ReportPortal
      • startBackground

        public io.reactivex.Maybe<java.lang.String> startBackground​(@Nonnull
                                                                    com.intuit.karate.core.Step step,
                                                                    @Nonnull
                                                                    com.intuit.karate.core.ScenarioRuntime sr)
        Start sending Background data to ReportPortal.
        Parameters:
        step - Karate's Step object instance
        sr - Karate's ScenarioRuntime object instance
        Returns:
        item ID Future
      • buildFinishBackgroundRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishBackgroundRq​(@Nullable
                                                                                             com.intuit.karate.core.StepResult stepResult,
                                                                                             @Nonnull
                                                                                             com.intuit.karate.core.ScenarioRuntime sr)
        Build ReportPortal request for finish Background event.
        Parameters:
        stepResult - Karate's StepResult class instance
        sr - Karate's ScenarioRuntime object instance
        Returns:
        request to ReportPortal
      • finishBackground

        public void finishBackground​(@Nullable
                                     com.intuit.karate.core.StepResult stepResult,
                                     @Nonnull
                                     com.intuit.karate.core.ScenarioRuntime sr)
        Finish sending Scenario data to ReportPortal.
        Parameters:
        stepResult - Karate's StepResult class instance
        sr - Karate's ScenarioRuntime object instance
      • afterScenario

        public void afterScenario​(com.intuit.karate.core.ScenarioRuntime sr)
        Specified by:
        afterScenario in interface com.intuit.karate.RuntimeHook
      • buildStartStepRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartStepRq​(@Nonnull
                                                                                     com.intuit.karate.core.Step step,
                                                                                     @Nonnull
                                                                                     com.intuit.karate.core.ScenarioRuntime sr)
        Customize start Step test item event/request.
        Parameters:
        step - Karate's Step object instance
        sr - Karate's ScenarioRuntime object instance
        Returns:
        request to ReportPortal
      • sendLog

        protected void sendLog​(io.reactivex.Maybe<java.lang.String> itemId,
                               java.lang.String message,
                               com.epam.reportportal.listeners.LogLevel level)
        Send Step logs to ReportPortal.
        Parameters:
        itemId - item ID future
        message - log message to send
        level - log level
      • beforeStep

        public boolean beforeStep​(com.intuit.karate.core.Step step,
                                  com.intuit.karate.core.ScenarioRuntime sr)
        Specified by:
        beforeStep in interface com.intuit.karate.RuntimeHook
      • sendStepResults

        public void sendStepResults​(com.intuit.karate.core.StepResult stepResult,
                                    com.intuit.karate.core.ScenarioRuntime sr)
        Send Step execution results to ReportPortal.
        Parameters:
        stepResult - step execution results
        sr - Karate's ScenarioRuntime object instance
      • buildFinishStepRq

        @Nonnull
        protected com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishStepRq​(@Nonnull
                                                                                       com.intuit.karate.core.StepResult stepResult,
                                                                                       @Nonnull
                                                                                       com.intuit.karate.core.ScenarioRuntime sr)
        Build ReportPortal request for finish Step event.
        Parameters:
        stepResult - Karate's StepResult class instance
        sr - Karate's ScenarioRuntime object instance
        Returns:
        request to ReportPortal
      • afterStep

        public void afterStep​(com.intuit.karate.core.StepResult stepResult,
                              com.intuit.karate.core.ScenarioRuntime sr)
        Specified by:
        afterStep in interface com.intuit.karate.RuntimeHook
      • beforeHttpCall

        public void beforeHttpCall​(com.intuit.karate.http.HttpRequest request,
                                   com.intuit.karate.core.ScenarioRuntime sr)
        Specified by:
        beforeHttpCall in interface com.intuit.karate.RuntimeHook
      • afterHttpCall

        public void afterHttpCall​(com.intuit.karate.http.HttpRequest request,
                                  com.intuit.karate.http.Response response,
                                  com.intuit.karate.core.ScenarioRuntime sr)
        Specified by:
        afterHttpCall in interface com.intuit.karate.RuntimeHook
      • beforeSuite

        public void beforeSuite​(com.intuit.karate.Suite suite)
        Specified by:
        beforeSuite in interface com.intuit.karate.RuntimeHook
      • afterSuite

        public void afterSuite​(com.intuit.karate.Suite suite)
        Specified by:
        afterSuite in interface com.intuit.karate.RuntimeHook