Skip to content

Commit 2ab2cb2

Browse files
committed
Sample solution
1 parent e8aaca0 commit 2ab2cb2

File tree

2 files changed

+71
-18
lines changed

2 files changed

+71
-18
lines changed

src/test/java/com/serenitydojo/playwright/ASimplePlaywrightTest.java

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -3,40 +3,46 @@
33
import com.microsoft.playwright.Browser;
44
import com.microsoft.playwright.BrowserType;
55
import com.microsoft.playwright.Page;
6-
import com.microsoft.playwright.junit.UsePlaywright;
7-
import com.microsoft.playwright.junit.Options;
8-
import com.microsoft.playwright.junit.OptionsFactory;
6+
import com.microsoft.playwright.Playwright;
7+
import org.junit.jupiter.api.AfterEach;
98
import org.junit.jupiter.api.Assertions;
9+
import org.junit.jupiter.api.BeforeEach;
1010
import org.junit.jupiter.api.Test;
1111

1212
import java.util.Arrays;
1313

14-
@UsePlaywright(ASimplePlaywrightTest.CustomOptions.class)
1514
public class ASimplePlaywrightTest {
1615

17-
public static class CustomOptions implements OptionsFactory {
18-
@Override
19-
public Options getOptions() {
20-
return new Options()
21-
// .setHeadless(false)
22-
.setLaunchOptions(
23-
new BrowserType.LaunchOptions()
24-
.setArgs(Arrays.asList("--no-sandbox",
25-
"--disable-gpu",
26-
"--disable-extensions"))
27-
);
28-
}
16+
Playwright playwright;
17+
Browser browser;
18+
Page page;
19+
20+
@BeforeEach
21+
public void setUp() {
22+
playwright = Playwright.create();
23+
browser = playwright.chromium().launch(
24+
new BrowserType.LaunchOptions()
25+
// .setHeadless(false)
26+
.setArgs(Arrays.asList("--no-sandbox","--disable-extensions","--disable-gpu"))
27+
);
28+
page = browser.newPage();
29+
}
30+
31+
@AfterEach
32+
public void tearDown() {
33+
browser.close();
34+
playwright.close();
2935
}
3036

3137
@Test
32-
void shouldShowThePageTitle(Page page) {
38+
void shouldShowThePageTitle() {
3339
page.navigate("https://practicesoftwaretesting.com");
3440
String title = page.title();
3541
Assertions.assertTrue(title.contains("Practice Software Testing"));
3642
}
3743

3844
@Test
39-
void shouldShowSearchTermsInTheTitle1(Page page) {
45+
void shouldShowSearchTermsInTheTitle() {
4046
page.navigate("https://practicesoftwaretesting.com");
4147
page.locator("[placeholder=Search]").fill("Pliers");
4248
page.locator("button:has-text('Search')").click();
@@ -45,4 +51,5 @@ void shouldShowSearchTermsInTheTitle1(Page page) {
4551

4652
Assertions.assertTrue(matchingProductCount > 0);
4753
}
54+
4855
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.serenitydojo.playwright;
2+
3+
import com.microsoft.playwright.BrowserType;
4+
import com.microsoft.playwright.Page;
5+
import com.microsoft.playwright.junit.Options;
6+
import com.microsoft.playwright.junit.OptionsFactory;
7+
import com.microsoft.playwright.junit.UsePlaywright;
8+
import org.junit.jupiter.api.Assertions;
9+
import org.junit.jupiter.api.Test;
10+
11+
import java.util.Arrays;
12+
13+
@UsePlaywright(AnAnnotatedPlaywrightTest.MyOptions.class)
14+
public class AnAnnotatedPlaywrightTest {
15+
16+
public static class MyOptions implements OptionsFactory {
17+
18+
@Override
19+
public Options getOptions() {
20+
return new Options()
21+
// .setHeadless(false)
22+
.setLaunchOptions(
23+
new BrowserType.LaunchOptions()
24+
.setArgs(Arrays.asList("--no-sandbox","--disable-gpu"))
25+
);
26+
}
27+
}
28+
@Test
29+
void shouldShowThePageTitle(Page page) {
30+
page.navigate("https://practicesoftwaretesting.com");
31+
String title = page.title();
32+
Assertions.assertTrue(title.contains("Practice Software Testing"));
33+
}
34+
35+
@Test
36+
void shouldShowSearchTermsInTheTitle(Page page) {
37+
page.navigate("https://practicesoftwaretesting.com");
38+
page.locator("[placeholder=Search]").fill("Pliers");
39+
page.locator("button:has-text('Search')").click();
40+
41+
int matchingProductCount = page.locator(".card-title").count();
42+
43+
Assertions.assertTrue(matchingProductCount > 0);
44+
}
45+
46+
}

0 commit comments

Comments
 (0)