concordion-logging-tooltip-extension

An extension to Concordion to adds logging information unobtrusively to the Concordion output

License

License

Categories

Categories

Logging Application Layer Libs
GroupId

GroupId

org.concordion
ArtifactId

ArtifactId

concordion-logging-tooltip-extension
Last Version

Last Version

1.1.2
Release Date

Release Date

Type

Type

jar
Description

Description

concordion-logging-tooltip-extension
An extension to Concordion to adds logging information unobtrusively to the Concordion output
Project URL

Project URL

https://github.com/concordion/concordion-logging-tooltip-extension
Source Code Management

Source Code Management

https://github.com/concordion/concordion-logging-tooltip-extension.git

Download concordion-logging-tooltip-extension

How to add to project

<!-- https://jarcasting.com/artifacts/org.concordion/concordion-logging-tooltip-extension/ -->
<dependency>
    <groupId>org.concordion</groupId>
    <artifactId>concordion-logging-tooltip-extension</artifactId>
    <version>1.1.2</version>
</dependency>
// https://jarcasting.com/artifacts/org.concordion/concordion-logging-tooltip-extension/
implementation 'org.concordion:concordion-logging-tooltip-extension:1.1.2'
// https://jarcasting.com/artifacts/org.concordion/concordion-logging-tooltip-extension/
implementation ("org.concordion:concordion-logging-tooltip-extension:1.1.2")
'org.concordion:concordion-logging-tooltip-extension:jar:1.1.2'
<dependency org="org.concordion" name="concordion-logging-tooltip-extension" rev="1.1.2">
  <artifact name="concordion-logging-tooltip-extension" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.concordion', module='concordion-logging-tooltip-extension', version='1.1.2')
)
libraryDependencies += "org.concordion" % "concordion-logging-tooltip-extension" % "1.1.2"
[org.concordion/concordion-logging-tooltip-extension "1.1.2"]

Dependencies

compile (1)

Group / Artifact Type Version
org.concordion : concordion jar 1.4.4

Project Modules

There are no modules declared in this project.

Build Status Maven Central Apache License 2.0

This Concordion extension adds logging information unobtrusively to the Concordion output. The logging information is only displayed when hovering over the tooltip.

The demo project demonstrates this extension.

Introduction

This extension allows us to reveal implementation details in the Concordion output, without obscuring the intent of the specification. For example:

Logging Tooltip Image

Revealing the implementation detail can help to improve the level of trust in the tests, and sometimes highlights redundant steps in the tests. This is discussed further in this blog entry.

The extension captures the logging information from java.util.logging.

Installation

The extension is available from Maven Central.

Configuration

Default Configuration

By default, this extension will capture all output from the root logger and disable console logging of the root logger.

To install the extension with default configuration, either annotate the fixture class with:

    @Extensions(LoggingTooltipExtension.class)

or set the system property concordion.extensions to org.concordion.ext.LoggingTooltipExtension.

Custom Configuration

The extension can be customised to restrict the log output to named loggers, and by logging level. The output of logging to the console can also be enabled.

The easiest way is to use the @Extension annotation on a LoggingTooltipExtension instance field within the fixture class. For example:

        String loggers = "carbon.CarbonCalculatorTest, selenium.events";
        @Extension
        public ConcordionExtension extension =
            new LoggingTooltipExtension(loggers, Level.FINE, false);

Using other loggers

For those not using java.util.logging, a custom LogMessenger can be provided. See the test class AlternateLoggingTooltipExtensionFactory for a basic example.

Further info

Acknowledgements

Thanks to Trent Richardson for the CSS Tooltip implementation.

org.concordion

Versions

Version
1.1.2