Skip to content

Commit ec1c7ae

Browse files
committed
Add extended failure message for visual testing
1 parent d914df4 commit ec1c7ae

File tree

7 files changed

+44
-6
lines changed

7 files changed

+44
-6
lines changed

docs/modules/plugins/pages/plugin-visual.adoc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,12 @@ include::partial$plugin-installation.adoc[]
3030
|`<empty>`
3131
|Used to append scenario based index to a baseline name
3232

33+
|`ui.visual.enable-extended-assertion-format`
34+
a|`true`
35+
`false`
36+
|`false`
37+
|Extends assertion message for baseline validation by including baseline name
38+
3339
|`ui.visual.override-baselines`
3440
a|`true`
3541
`false`

vividus-extension-visual-testing/src/main/java/org/vividus/visual/steps/AbstractVisualSteps.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2019-2023 the original author or authors.
2+
* Copyright 2019-2026 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -37,6 +37,8 @@ public abstract class AbstractVisualSteps
3737
private final IAttachmentPublisher attachmentPublisher;
3838
private final ISoftAssert softAssert;
3939

40+
private boolean enableExtendedAssertionFormat;
41+
4042
protected AbstractVisualSteps(IUiContext uiContext, IAttachmentPublisher attachmentPublisher,
4143
ISoftAssert softAssert)
4244
{
@@ -90,7 +92,14 @@ private <T extends AbstractVisualCheck, R extends VisualCheckResult> Optional<R>
9092
protected void verifyResult(VisualCheckResult result)
9193
{
9294
boolean passed = result.isPassed() ^ result.getActionType() == VisualActionType.CHECK_INEQUALITY_AGAINST;
93-
softAssert.assertTrue("Visual check passed", passed);
95+
if (enableExtendedAssertionFormat)
96+
{
97+
softAssert.assertTrue("Visual check for '%s' baseline".formatted(result.getBaselineName()), passed);
98+
}
99+
else
100+
{
101+
softAssert.assertTrue("Visual check passed", passed);
102+
}
94103
}
95104

96105
protected abstract String getTemplateName();
@@ -99,4 +108,9 @@ protected ISoftAssert getSoftAssert()
99108
{
100109
return softAssert;
101110
}
111+
112+
public void setEnableExtendedAssertionFormat(boolean enableExtendedAssertionFormat)
113+
{
114+
this.enableExtendedAssertionFormat = enableExtendedAssertionFormat;
115+
}
102116
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
ui.visual.indexer=
2+
ui.visual.enable-extended-assertion-format=false

vividus-extension-visual-testing/src/main/resources/vividus-extension/spring.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@
66
http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd"
77
default-lazy-init="true">
88

9+
<bean name="abstractVisualSteps" class="org.vividus.visual.steps.AbstractVisualSteps" abstract="true">
10+
<property name="enableExtendedAssertionFormat" value="${ui.visual.enable-extended-assertion-format}" />
11+
</bean>
12+
913
<beans profile="web_selenium,mobile_app">
1014
<bean id="scenario" class="org.vividus.visual.screenshot.ScenarioBasedIndexer" />
1115

vividus-extension-visual-testing/src/test/java/org/vividus/visual/steps/VisualStepsTests.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2019-2023 the original author or authors.
2+
* Copyright 2019-2026 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -150,6 +150,19 @@ void shouldPerformVisualCheckAndPublishAttachment(boolean passed, VisualActionTy
150150
assertNull(visualCheck.getSearchContext());
151151
}
152152

153+
@Test
154+
void shouldUseExtendedAssertionFormat()
155+
{
156+
var visualCheck = new AbstractVisualCheck(BASELINE_NAME, VisualActionType.COMPARE_AGAINST) { };
157+
var visualCheckResult = new VisualCheckResult(visualCheck);
158+
visualCheckResult.setPassed(false);
159+
160+
visualSteps.setEnableExtendedAssertionFormat(true);
161+
visualSteps.verifyResult(visualCheckResult);
162+
163+
verify(softAssert).assertTrue("Visual check for '%s' baseline".formatted(BASELINE_NAME), false);
164+
}
165+
153166
private static final class TestVisualSteps extends AbstractVisualSteps
154167
{
155168
private TestVisualSteps(IUiContext uiContext, IAttachmentPublisher attachmentPublisher, ISoftAssert softAssert)

vividus-plugin-applitools/src/main/resources/vividus-plugin/spring.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@
2525
<bean class="org.vividus.visual.eyes.converter.ExamplesTableToRenderingBrowserInfoConverter" />
2626
<bean class="org.vividus.visual.eyes.converter.StringToAccessibilitySettingsConverter" />
2727

28-
<bean id="visualTestingSteps" class="org.vividus.visual.eyes.VisualTestingSteps" >
28+
<bean id="visualTestingSteps" class="org.vividus.visual.eyes.VisualTestingSteps" parent="abstractVisualSteps">
2929
<constructor-arg index="2" ref="screenshotParametersFactory" />
3030
</bean>
3131

32-
<bean id="ufgSteps" class="org.vividus.visual.eyes.UfgSteps" />
32+
<bean id="ufgSteps" class="org.vividus.visual.eyes.UfgSteps" parent="abstractVisualSteps"/>
3333

3434
<bean id="eyesLogHandler" class="org.vividus.visual.eyes.logger.EyesLogHandler">
3535
<constructor-arg value="org.vividus.visual.eyes.service.ImageVisualTestingService" />

vividus-plugin-visual/src/main/resources/vividus-plugin/spring.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<context:component-scan base-package="org.vividus.visual.storage" />
1010

11-
<bean id="visualSteps" class="org.vividus.visual.VisualSteps">
11+
<bean id="visualSteps" class="org.vividus.visual.VisualSteps" parent="abstractVisualSteps">
1212
<constructor-arg ref="screenshotParametersFactory" />
1313
</bean>
1414

0 commit comments

Comments
 (0)