Package com.epam.reportportal.karate
Class ReportPortalUtils
- java.lang.Object
-
- com.epam.reportportal.karate.ReportPortalUtils
-
public class ReportPortalUtils extends java.lang.ObjectSet of useful utils related to Karate -> ReportPortal integration
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringAGENT_PROPERTIES_FILEstatic java.lang.StringEXAMPLE_CODE_REFERENCE_PATTERNstatic java.lang.StringFEATURE_TAGstatic java.lang.StringMARKDOWN_CODE_PATTERNstatic java.lang.StringMARKDOWN_DELIMITERstatic java.lang.StringMARKDOWN_DELIMITER_PATTERNstatic java.lang.StringPARAMETERS_PATTERNstatic java.lang.StringSCENARIO_CODE_REFERENCE_PATTERNstatic java.lang.StringSCENARIO_TAGstatic java.lang.StringSKIPPED_ISSUE_KEYstatic java.lang.StringVARIABLE_PATTERN
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringasMarkdownCode(java.lang.String code)Builds markdown representation of some code or script to be logged to ReportPortalstatic com.epam.ta.reportportal.ws.model.FinishExecutionRQbuildFinishLaunchRq(com.epam.reportportal.listeners.ListenerParameters parameters)Build default finish launch event/requeststatic com.epam.ta.reportportal.ws.model.FinishTestItemRQbuildFinishScenarioRq(com.intuit.karate.core.ScenarioResult result)Build ReportPortal request for finish Scenario eventstatic com.epam.ta.reportportal.ws.model.FinishTestItemRQbuildFinishTestItemRq(java.util.Date endTime, com.epam.reportportal.listeners.ItemStatus status)Build default finish test item event/requeststatic com.epam.ta.reportportal.ws.model.StartTestItemRQbuildStartBackgroundRq(com.intuit.karate.core.Step step, com.intuit.karate.core.Scenario scenario)Build ReportPortal request for start Background event.static com.epam.ta.reportportal.ws.model.StartTestItemRQbuildStartFeatureRq(com.intuit.karate.core.Feature feature)Build ReportPortal request for start Feature event.static com.epam.ta.reportportal.ws.model.launch.StartLaunchRQbuildStartLaunchRq(com.epam.reportportal.listeners.ListenerParameters parameters)Build default start launch event/requeststatic com.epam.ta.reportportal.ws.model.StartTestItemRQbuildStartScenarioRq(com.intuit.karate.core.ScenarioResult result)Build ReportPortal request for start Scenario eventstatic com.epam.ta.reportportal.ws.model.StartTestItemRQbuildStartStepRq(com.intuit.karate.core.Step step, com.intuit.karate.core.Scenario scenario)Customize start step test item event/requeststatic com.epam.ta.reportportal.ws.model.StartTestItemRQbuildStartTestItemRq(java.lang.String name, java.util.Date startTime, com.epam.reportportal.listeners.ItemType type)Build default start test item event/requeststatic java.lang.ThreadcreateShutdownHook(java.lang.Runnable actions)Create a launch finish hook which will be called on JVM shutdown.static java.lang.StringformatExampleKey(java.util.Map<java.lang.String,java.lang.Object> example)Create a String from a parameter Map to be used as a test key and titlestatic java.lang.StringgetCodeRef(com.intuit.karate.core.Scenario scenario)Returns code reference for feature files by URI and Scenario referencestatic java.lang.StringgetInnerFeatureName(java.lang.String name)Build name of inner feature (called by another scenario).static java.lang.StringgetInnerScenarioName(java.lang.String name)Build name of inner scenario (called by another scenario).static java.util.List<com.epam.ta.reportportal.ws.model.ParameterResource>getParameters(com.intuit.karate.core.Scenario scenario)Extract and transform ScenarioOutline parameters to ReportPortal parameter list.static java.util.List<com.epam.ta.reportportal.ws.model.ParameterResource>getParameters(java.util.Map<java.lang.String,java.lang.Object> args)Transform Map of parameters to ReportPortal parameter list.static com.epam.reportportal.listeners.ItemStatusgetStepStatus(java.lang.String status)Map Karate's item status to ReportPortal status object.static com.epam.reportportal.service.item.TestCaseIdEntrygetTestCaseId(com.intuit.karate.core.Scenario scenario)Return a Test Case ID for a Scenario in a Feature filestatic java.lang.ThreadregisterShutdownHook(java.lang.Runnable actions)Create and register a launch finish hook which will be called on JVM shutdown.static voidsendLog(io.reactivex.Maybe<java.lang.String> itemId, java.lang.String message, com.epam.reportportal.listeners.LogLevel level)Send Step logs to ReportPortal.static voidsendLog(io.reactivex.Maybe<java.lang.String> itemId, java.lang.String message, com.epam.reportportal.listeners.LogLevel level, java.util.Date logTime)Send Step logs to ReportPortal.static java.util.Set<com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ>toAttributes(java.util.List<com.intuit.karate.core.Tag> tags)static voidunregisterShutdownHook(java.lang.Thread hook)Remove a launch finish hook.
-
-
-
Field Detail
-
MARKDOWN_CODE_PATTERN
public static final java.lang.String MARKDOWN_CODE_PATTERN
- See Also:
- Constant Field Values
-
PARAMETERS_PATTERN
public static final java.lang.String PARAMETERS_PATTERN
- See Also:
- Constant Field Values
-
VARIABLE_PATTERN
public static final java.lang.String VARIABLE_PATTERN
- See Also:
- Constant Field Values
-
AGENT_PROPERTIES_FILE
public static final java.lang.String AGENT_PROPERTIES_FILE
- See Also:
- Constant Field Values
-
SKIPPED_ISSUE_KEY
public static final java.lang.String SKIPPED_ISSUE_KEY
- See Also:
- Constant Field Values
-
SCENARIO_CODE_REFERENCE_PATTERN
public static final java.lang.String SCENARIO_CODE_REFERENCE_PATTERN
- See Also:
- Constant Field Values
-
EXAMPLE_CODE_REFERENCE_PATTERN
public static final java.lang.String EXAMPLE_CODE_REFERENCE_PATTERN
- See Also:
- Constant Field Values
-
MARKDOWN_DELIMITER
public static final java.lang.String MARKDOWN_DELIMITER
- See Also:
- Constant Field Values
-
MARKDOWN_DELIMITER_PATTERN
public static final java.lang.String MARKDOWN_DELIMITER_PATTERN
- See Also:
- Constant Field Values
-
FEATURE_TAG
public static final java.lang.String FEATURE_TAG
- See Also:
- Constant Field Values
-
SCENARIO_TAG
public static final java.lang.String SCENARIO_TAG
- See Also:
- Constant Field Values
-
-
Method Detail
-
formatExampleKey
public static java.lang.String formatExampleKey(@Nonnull java.util.Map<java.lang.String,java.lang.Object> example)Create a String from a parameter Map to be used as a test key and title- Parameters:
example- a map of parameters: name->value- Returns:
- a formatted string of parameters
-
createShutdownHook
@Nonnull public static java.lang.Thread createShutdownHook(@Nonnull java.lang.Runnable actions)Create a launch finish hook which will be called on JVM shutdown. Prevents from long unfinished launches for interrupted tests.- Parameters:
actions- Shutdown actions to perform- Returns:
- a Thread which executes Launch finish and exits
-
registerShutdownHook
@Nonnull public static java.lang.Thread registerShutdownHook(@Nonnull java.lang.Runnable actions)Create and register a launch finish hook which will be called on JVM shutdown. Prevents from long unfinished launches for interrupted tests.- Parameters:
actions- Shutdown actions to perform- Returns:
- a Thread which executes Launch finish and exits
-
unregisterShutdownHook
public static void unregisterShutdownHook(@Nonnull java.lang.Thread hook)Remove a launch finish hook. Use it if the launch finished gracefully.- Parameters:
hook- a Thread which represents Launch finish hook
-
buildStartLaunchRq
@Nonnull public static com.epam.ta.reportportal.ws.model.launch.StartLaunchRQ buildStartLaunchRq(@Nonnull com.epam.reportportal.listeners.ListenerParameters parameters)Build default start launch event/request- Parameters:
parameters- Launch configuration parameters- Returns:
- request to ReportPortal
-
buildFinishLaunchRq
@Nonnull public static com.epam.ta.reportportal.ws.model.FinishExecutionRQ buildFinishLaunchRq(@Nonnull com.epam.reportportal.listeners.ListenerParameters parameters)Build default finish launch event/request- Parameters:
parameters- Launch configuration parameters- Returns:
- request to ReportPortal
-
getCodeRef
@Nonnull public static java.lang.String getCodeRef(@Nonnull com.intuit.karate.core.Scenario scenario)Returns code reference for feature files by URI and Scenario reference- Parameters:
scenario- Karate's Scenario object instance- Returns:
- a code reference
-
buildStartTestItemRq
@Nonnull public static com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartTestItemRq(@Nonnull java.lang.String name, @Nonnull java.util.Date startTime, @Nonnull com.epam.reportportal.listeners.ItemType type)Build default start test item event/request- Parameters:
name- item's namestartTime- item's start time in Date formattype- item's type (e.g. feature, scenario, step, etc.)- Returns:
- request to ReportPortal
-
buildFinishTestItemRq
@Nonnull public static com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishTestItemRq(@Nonnull java.util.Date endTime, @Nullable com.epam.reportportal.listeners.ItemStatus status)Build default finish test item event/request- Parameters:
endTime- item's end timestatus- item's status- Returns:
- request to ReportPortal
-
toAttributes
@Nullable public static java.util.Set<com.epam.ta.reportportal.ws.model.attribute.ItemAttributesRQ> toAttributes(@Nullable java.util.List<com.intuit.karate.core.Tag> tags)
-
buildStartFeatureRq
@Nonnull public static com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartFeatureRq(@Nonnull com.intuit.karate.core.Feature feature)Build ReportPortal request for start Feature event.- Parameters:
feature- Karate's Feature object instance- Returns:
- request to ReportPortal
-
getParameters
@Nonnull public static java.util.List<com.epam.ta.reportportal.ws.model.ParameterResource> getParameters(@Nonnull java.util.Map<java.lang.String,java.lang.Object> args)Transform Map of parameters to ReportPortal parameter list.- Parameters:
args- argument Map- Returns:
- parameters
-
getParameters
@Nullable public static java.util.List<com.epam.ta.reportportal.ws.model.ParameterResource> getParameters(@Nonnull com.intuit.karate.core.Scenario scenario)Extract and transform ScenarioOutline parameters to ReportPortal parameter list.- Parameters:
scenario- Karate's Scenario object instance- Returns:
- parameters
-
getTestCaseId
@Nullable public static com.epam.reportportal.service.item.TestCaseIdEntry getTestCaseId(@Nonnull com.intuit.karate.core.Scenario scenario)Return a Test Case ID for a Scenario in a Feature file- Parameters:
scenario- Karate's Scenario object instance- Returns:
- Test Case ID entity or null if it's not possible to calculate
-
buildStartScenarioRq
@Nonnull public static com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartScenarioRq(@Nonnull com.intuit.karate.core.ScenarioResult result)Build ReportPortal request for start Scenario event- Parameters:
result- Karate's ScenarioResult object instance- Returns:
- request to ReportPortal
-
buildFinishScenarioRq
@Nonnull public static com.epam.ta.reportportal.ws.model.FinishTestItemRQ buildFinishScenarioRq(@Nonnull com.intuit.karate.core.ScenarioResult result)Build ReportPortal request for finish Scenario event- Parameters:
result- Karate's ScenarioResult object instance- Returns:
- request to ReportPortal
-
buildStartBackgroundRq
@Nonnull public static com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartBackgroundRq(@Nonnull com.intuit.karate.core.Step step, @Nonnull com.intuit.karate.core.Scenario scenario)Build ReportPortal request for start Background event.- Parameters:
step- Karate's Step object instancescenario- Karate's Scenario object instance- Returns:
- request to ReportPortal
-
buildStartStepRq
@Nonnull public static com.epam.ta.reportportal.ws.model.StartTestItemRQ buildStartStepRq(@Nonnull com.intuit.karate.core.Step step, @Nonnull com.intuit.karate.core.Scenario scenario)Customize start step test item event/request- Parameters:
step- Karate's Step object instancescenario- Karate's Scenario object instance- Returns:
- request to ReportPortal
-
getStepStatus
public static com.epam.reportportal.listeners.ItemStatus getStepStatus(java.lang.String status)
Map Karate's item status to ReportPortal status object.- Parameters:
status- Karate item status- Returns:
- ReportPortal status
-
sendLog
public static void sendLog(io.reactivex.Maybe<java.lang.String> itemId, java.lang.String message, com.epam.reportportal.listeners.LogLevel level, java.util.Date logTime)Send Step logs to ReportPortal.- Parameters:
itemId- item ID futuremessage- log message to sendlevel- log levellogTime- log time
-
sendLog
public static 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 futuremessage- log message to sendlevel- log level
-
asMarkdownCode
public static java.lang.String asMarkdownCode(java.lang.String code)
Builds markdown representation of some code or script to be logged to ReportPortal- Parameters:
code- Code or Script- Returns:
- Message to be sent to ReportPortal
-
getInnerScenarioName
public static java.lang.String getInnerScenarioName(java.lang.String name)
Build name of inner scenario (called by another scenario).- Parameters:
name- Scenario name- Returns:
- Inner scenario name
-
getInnerFeatureName
public static java.lang.String getInnerFeatureName(java.lang.String name)
Build name of inner feature (called by another scenario).- Parameters:
name- Feature name- Returns:
- Inner feature name
-
-