Skip to content

Commit d089a72

Browse files
committed
Added sample WithTracing interface
1 parent 6057b75 commit d089a72

File tree

2 files changed

+35
-29
lines changed

2 files changed

+35
-29
lines changed

src/test/java/com/serenitydojo/playwright/toolshop/catalog/AddToCartTest.java

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,18 @@
11
package com.serenitydojo.playwright.toolshop.catalog;
22

3-
import com.microsoft.playwright.Browser;
4-
import com.microsoft.playwright.BrowserContext;
53
import com.microsoft.playwright.Page;
6-
import com.microsoft.playwright.Tracing;
74
import com.microsoft.playwright.junit.UsePlaywright;
85
import com.serenitydojo.playwright.HeadlessChromeOptions;
96
import com.serenitydojo.playwright.toolshop.catalog.pageobjects.*;
10-
import com.serenitydojo.playwright.toolshop.fixtures.PlaywrightTestCase;
7+
import com.serenitydojo.playwright.toolshop.fixtures.WithTracing;
118
import org.assertj.core.api.Assertions;
12-
import org.junit.jupiter.api.AfterEach;
139
import org.junit.jupiter.api.BeforeEach;
1410
import org.junit.jupiter.api.Test;
15-
import org.junit.jupiter.api.TestInfo;
16-
import org.junit.jupiter.api.parallel.Execution;
17-
import org.junit.jupiter.api.parallel.ExecutionMode;
1811

19-
import java.nio.file.Paths;
2012
import java.util.List;
2113

2214
@UsePlaywright(HeadlessChromeOptions.class)
23-
public class AddToCartTest {
15+
public class AddToCartTest implements WithTracing {
2416

2517
SearchComponent searchComponent;
2618
ProductList productList;
@@ -42,25 +34,6 @@ void setUp(Page page) {
4234
checkoutCart = new CheckoutCart(page);
4335
}
4436

45-
@BeforeEach
46-
void setupTrace(BrowserContext context) {
47-
context.tracing().start(
48-
new Tracing.StartOptions()
49-
.setScreenshots(true)
50-
.setSnapshots(true)
51-
.setSources(true)
52-
);
53-
}
54-
55-
@AfterEach
56-
void recordTrace(TestInfo testInfo, BrowserContext context) {
57-
String traceName = testInfo.getDisplayName().replace(" ","-").toLowerCase();
58-
context.tracing().stop(
59-
new Tracing.StopOptions()
60-
.setPath(Paths.get("trace-" + traceName + ".zip"))
61-
);
62-
}
63-
6437
@Test
6538
void whenCheckingOutASingleItem() {
6639
searchComponent.searchBy("pliers");
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.serenitydojo.playwright.toolshop.fixtures;
2+
3+
import com.microsoft.playwright.BrowserContext;
4+
import com.microsoft.playwright.Tracing;
5+
import org.junit.jupiter.api.AfterEach;
6+
import org.junit.jupiter.api.BeforeEach;
7+
import org.junit.jupiter.api.TestInfo;
8+
9+
import java.nio.file.Paths;
10+
11+
public interface WithTracing {
12+
13+
14+
@BeforeEach
15+
default void setupTrace(BrowserContext context) {
16+
context.tracing().start(
17+
new Tracing.StartOptions()
18+
.setScreenshots(true)
19+
.setSnapshots(true)
20+
.setSources(true)
21+
);
22+
}
23+
24+
@AfterEach
25+
default void recordTrace(TestInfo testInfo, BrowserContext context) {
26+
String traceName = testInfo.getDisplayName().replace(" ","-").toLowerCase();
27+
context.tracing().stop(
28+
new Tracing.StopOptions()
29+
.setPath(Paths.get("target/traces/trace-" + traceName + ".zip"))
30+
);
31+
}
32+
33+
}

0 commit comments

Comments
 (0)