diff --git a/playwright/src/test/java/com/microsoft/playwright/TestAPIResponseAssertions.java b/playwright/src/test/java/com/microsoft/playwright/TestAPIResponseAssertions.java
index 02ab8ba9..3f124b9e 100644
--- a/playwright/src/test/java/com/microsoft/playwright/TestAPIResponseAssertions.java
+++ b/playwright/src/test/java/com/microsoft/playwright/TestAPIResponseAssertions.java
@@ -16,6 +16,8 @@
package com.microsoft.playwright;
+import com.microsoft.playwright.junit.FixtureTest;
+import com.microsoft.playwright.junit.UsePlaywright;
import org.junit.jupiter.api.Test;
import org.opentest4j.AssertionFailedError;
@@ -25,21 +27,23 @@ import java.io.Writer;
import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertThat;
import static org.junit.jupiter.api.Assertions.*;
-public class TestAPIResponseAssertions extends TestBase {
+@FixtureTest
+@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
+public class TestAPIResponseAssertions {
@Test
- void passWithResponse() {
+ void passWithResponse(Page page, Server server) {
APIResponse res = page.request().get(server.EMPTY_PAGE);
assertThat(res).isOK();
}
@Test
- void passWithNot() {
+ void passWithNot(Page page, Server server) {
APIResponse res = page.request().get(server.PREFIX + "/unknown");
assertThat(res).not().isOK();
}
@Test
- void fail() {
+ void fail(Page page, Server server) {
APIResponse res = page.request().get(server.PREFIX + "/unknown");
AssertionFailedError e = assertThrows(AssertionFailedError.class, () -> assertThat(res).isOK());
assertTrue(e.getMessage().contains("→ GET " + server.PREFIX + "/unknown"), "Actual error: " + e.toString());
@@ -47,14 +51,14 @@ public class TestAPIResponseAssertions extends TestBase {
}
@Test
- void shouldPrintResponseTextIfIdOkFails() {
+ void shouldPrintResponseTextIfIdOkFails(Page page, Server server) {
APIResponse res = page.request().get(server.PREFIX + "/unknown");
AssertionFailedError e = assertThrows(AssertionFailedError.class, () -> assertThat(res).isOK());
assertTrue(e.getMessage().contains("File not found"), "Actual error: " + e.toString());
}
@Test
- void shouldOnlyPrintResponseWithTextContentTypeIfIsOkFails() {
+ void shouldOnlyPrintResponseWithTextContentTypeIfIsOkFails(Page page, Server server) {
{
server.setRoute("/text-content-type", exchange -> {
exchange.getResponseHeaders().set("Content-type", "text/plain");
diff --git a/playwright/src/test/java/com/microsoft/playwright/TestAssertThatIsInViewport.java b/playwright/src/test/java/com/microsoft/playwright/TestAssertThatIsInViewport.java
index 289c8e16..b2b0e56d 100644
--- a/playwright/src/test/java/com/microsoft/playwright/TestAssertThatIsInViewport.java
+++ b/playwright/src/test/java/com/microsoft/playwright/TestAssertThatIsInViewport.java
@@ -17,6 +17,8 @@
package com.microsoft.playwright;
import com.microsoft.playwright.assertions.LocatorAssertions;
+import com.microsoft.playwright.junit.FixtureTest;
+import com.microsoft.playwright.junit.UsePlaywright;
import org.junit.jupiter.api.Test;
import org.opentest4j.AssertionFailedError;
@@ -24,9 +26,11 @@ import static com.microsoft.playwright.assertions.PlaywrightAssertions.assertTha
import static org.junit.jupiter.api.Assertions.*;
// Copied from expect-misc.spec.ts > toBeInViewport
-public class TestAssertThatIsInViewport extends TestBase {
+@FixtureTest
+@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
+public class TestAssertThatIsInViewport {
@Test
- void shouldWork() {
+ void shouldWork(Page page) {
page.setContent("
\n" +
" foo
");
assertThat(page.locator("#big")).isInViewport();
@@ -37,7 +41,7 @@ public class TestAssertThatIsInViewport extends TestBase {
}
@Test
- void shouldRespectRatioOption() {
+ void shouldRespectRatioOption(Page page) {
page.setContent("\n" +
" ");
assertThat(page.locator("div")).isInViewport();
@@ -55,14 +59,14 @@ public class TestAssertThatIsInViewport extends TestBase {
}
@Test
- void shouldHaveGoodStack() {
+ void shouldHaveGoodStack(Page page) {
AssertionFailedError error = assertThrows(AssertionFailedError.class, () -> assertThat(page.locator("body")).not().isInViewport(new LocatorAssertions.IsInViewportOptions().setTimeout(100)));
assertNotNull(error);
assertTrue(error.getMessage().contains("Locator expected not to be in viewport"), error.getMessage());
}
@Test
- void shouldReportIntersectionEvenIfFullyCoveredByOtherElement() {
+ void shouldReportIntersectionEvenIfFullyCoveredByOtherElement(Page page) {
page.setContent("hello
\n" +
" ");
assertThat(page.locator("h1")).isInViewport();
diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBeforeunload.java b/playwright/src/test/java/com/microsoft/playwright/TestBeforeunload.java
index f6cf074e..112b49ac 100644
--- a/playwright/src/test/java/com/microsoft/playwright/TestBeforeunload.java
+++ b/playwright/src/test/java/com/microsoft/playwright/TestBeforeunload.java
@@ -16,11 +16,15 @@
package com.microsoft.playwright;
+import com.microsoft.playwright.junit.FixtureTest;
+import com.microsoft.playwright.junit.UsePlaywright;
import org.junit.jupiter.api.Test;
-public class TestBeforeunload extends TestBase {
+@FixtureTest
+@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
+public class TestBeforeunload {
@Test
- void shouldBeAbleToNavigateAwayFromPageWithBeforeunload() {
+ void shouldBeAbleToNavigateAwayFromPageWithBeforeunload(Page page, Server server) {
page.navigate(server.PREFIX + "/beforeunload.html");
// We have to interact with a page so that "beforeunload" handlers
// fire.
diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java
index 27c1b81c..e67cf3e1 100644
--- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java
+++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java
@@ -16,6 +16,8 @@
package com.microsoft.playwright;
+import com.microsoft.playwright.junit.FixtureTest;
+import com.microsoft.playwright.junit.UsePlaywright;
import com.microsoft.playwright.options.Cookie;
import org.junit.jupiter.api.Test;
@@ -24,14 +26,18 @@ import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
+import static com.microsoft.playwright.TestOptionsFactories.isChromium;
+import static com.microsoft.playwright.TestOptionsFactories.isFirefox;
import static com.microsoft.playwright.Utils.assertJsonEquals;
import static java.util.Arrays.asList;
import static java.util.Collections.singletonList;
import static org.junit.jupiter.api.Assertions.*;
-public class TestBrowserContextAddCookies extends TestBase {
+@FixtureTest
+@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
+public class TestBrowserContextAddCookies {
@Test
- void shouldWork() {
+ void shouldWork(Page page, Server server, BrowserContext context) {
page.navigate(server.EMPTY_PAGE);
context.addCookies(asList(
new Cookie("password", "123456").setUrl(server.EMPTY_PAGE)));
@@ -47,7 +53,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldRoundtripCookie() {
+ void shouldRoundtripCookie(Page page, Server server, BrowserContext context) {
page.navigate(server.EMPTY_PAGE);
// @see https://en.wikipedia.org/wiki/Year_2038_problem
Object documentCookie = page.evaluate("() => {\n" +
@@ -65,7 +71,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldSendCookieHeader() throws ExecutionException, InterruptedException {
+ void shouldSendCookieHeader(Server server, BrowserContext context) throws ExecutionException, InterruptedException {
Future request = server.futureRequest("/empty.html");
context.addCookies(asList(
new Cookie("cookie", "value").setUrl(server.EMPTY_PAGE)));
@@ -76,7 +82,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldIsolateCookiesInBrowserContexts() {
+ void shouldIsolateCookiesInBrowserContexts(Browser browser, BrowserContext context, Server server) {
BrowserContext anotherContext = browser.newContext();
context.addCookies(asList(
new Cookie("isolatecookie", "page1value").setUrl(server.EMPTY_PAGE)));
@@ -94,7 +100,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldIsolateSessionCookies() {
+ void shouldIsolateSessionCookies(Server server, BrowserContext context, Browser browser) {
server.setRoute("/setcookie.html", exchange -> {
exchange.getResponseHeaders().add("Set-Cookie", "session=value");
exchange.sendResponseHeaders(200, 0);
@@ -122,7 +128,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldIsolatePersistentCookies() {
+ void shouldIsolatePersistentCookies(Server server, BrowserContext context, Browser browser) {
server.setRoute("/setcookie.html", exchange -> {
exchange.getResponseHeaders().add("Set-Cookie", "persistent=persistent-value; max-age=3600");
exchange.sendResponseHeaders(200, 0);
@@ -147,7 +153,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldIsolateSendCookieHeader() throws ExecutionException, InterruptedException {
+ void shouldIsolateSendCookieHeader(BrowserContext context, Server server, Browser browser) throws ExecutionException, InterruptedException {
context.addCookies(asList(
new Cookie("sendcookie", "value").setUrl(server.EMPTY_PAGE)));
{
@@ -158,19 +164,20 @@ public class TestBrowserContextAddCookies extends TestBase {
assertEquals(asList("sendcookie=value"), cookies);
}
{
- BrowserContext context = browser.newContext();
- Page page = context.newPage();
+ BrowserContext newContext = browser.newContext();
+ Page page = newContext.newPage();
Future request = server.futureRequest("/empty.html");
page.navigate(server.EMPTY_PAGE);
List cookies = request.get().headers.get("cookie");
assertNull(cookies);
- context.close();
+ newContext.close();
}
}
@Test
- void shouldIsolateCookiesBetweenLaunches() {
+ void shouldIsolateCookiesBetweenLaunches(Playwright playwright, Server server) {
// test.slow();
// TODO: const browser1 = browserType.launch(browserOptions);
+ BrowserType browserType = Utils.getBrowserTypeFromEnv(playwright);
Browser browser1 = browserType.launch();
BrowserContext context1 = browser1.newContext();
context1.addCookies(asList(new Cookie("cookie-in-context-1", "value")
@@ -187,7 +194,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldSetMultipleCookies() {
+ void shouldSetMultipleCookies(Page page, BrowserContext context, Server server) {
page.navigate(server.EMPTY_PAGE);
context.addCookies(asList(
new Cookie("multiple-1", "123456").setUrl(server.EMPTY_PAGE),
@@ -200,7 +207,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldHaveExpiresSetTo1ForSessionCookies() {
+ void shouldHaveExpiresSetTo1ForSessionCookies(BrowserContext context, Server server) {
context.addCookies(asList(
new Cookie("expires", "123456").setUrl(server.EMPTY_PAGE)));
List cookies = context.cookies();
@@ -208,7 +215,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldSetCookieWithReasonableDefaults() {
+ void shouldSetCookieWithReasonableDefaults(BrowserContext context, Server server) {
context.addCookies(asList(
new Cookie("defaults", "123456").setUrl(server.EMPTY_PAGE)));
List cookies = context.cookies();
@@ -225,7 +232,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldSetACookieWithAPath() {
+ void shouldSetACookieWithAPath(Page page, Server server, BrowserContext context) {
page.navigate(server.PREFIX + "/grid.html");
context.addCookies(asList(new Cookie("gridcookie", "GRID")
.setDomain("localhost")
@@ -249,7 +256,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldNotSetACookieWithBlankPageURL() {
+ void shouldNotSetACookieWithBlankPageURL(BrowserContext context, Server server) {
PlaywrightException e = assertThrows(PlaywrightException.class, () -> context.addCookies(asList(
new Cookie("example-cookie", "best").setUrl(server.EMPTY_PAGE),
new Cookie("example-cookie-blank", "best").setUrl("about:blank")
@@ -258,7 +265,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldNotSetACookieOnADataURLPage() {
+ void shouldNotSetACookieOnADataURLPage(BrowserContext context) {
PlaywrightException e = assertThrows(PlaywrightException.class, () -> context.addCookies(asList(
new Cookie("example-cookie", "best").setUrl("data:,Hello%2C%20World!")
)));
@@ -266,7 +273,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldDefaultToSettingSecureCookieForHTTPSWebsites() {
+ void shouldDefaultToSettingSecureCookieForHTTPSWebsites(Page page, Server server, BrowserContext context) {
page.navigate(server.EMPTY_PAGE);
String SECURE_URL = "https://example.com";
context.addCookies(asList(
@@ -278,7 +285,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldBeAbleToSetUnsecureCookieForHTTPWebsite() {
+ void shouldBeAbleToSetUnsecureCookieForHTTPWebsite(Page page, Server server, BrowserContext context) {
page.navigate(server.EMPTY_PAGE);
String HTTP_URL = "http://example.com";
context.addCookies(asList(
@@ -290,7 +297,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldSetACookieOnADifferentDomain() {
+ void shouldSetACookieOnADifferentDomain(Page page, Server server, BrowserContext context) {
page.navigate(server.EMPTY_PAGE);
context.addCookies(asList(
new Cookie("example-cookie", "best").setUrl("https://www.example.com")
@@ -309,7 +316,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldSetCookiesForAFrame() {
+ void shouldSetCookiesForAFrame(Page page, Server server, BrowserContext context) {
page.navigate(server.EMPTY_PAGE);
context.addCookies(asList(
new Cookie("frame-cookie", "value").setUrl(server.PREFIX)
@@ -327,7 +334,7 @@ public class TestBrowserContextAddCookies extends TestBase {
}
@Test
- void shouldNotBlockThirdPartyCookies() {
+ void shouldNotBlockThirdPartyCookies(Page page, Server server, BrowserContext context) {
page.navigate(server.EMPTY_PAGE);
page.evaluate("src => {\n" +
" let fulfill;\n" +
diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBaseUrl.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBaseUrl.java
index 23d3e75e..91e127df 100644
--- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBaseUrl.java
+++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBaseUrl.java
@@ -16,6 +16,8 @@
package com.microsoft.playwright;
+import com.microsoft.playwright.junit.FixtureTest;
+import com.microsoft.playwright.junit.UsePlaywright;
import org.junit.jupiter.api.Test;
import java.net.MalformedURLException;
@@ -23,9 +25,11 @@ import java.net.MalformedURLException;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class TestBrowserContextBaseUrl extends TestBase {
+@FixtureTest
+@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
+public class TestBrowserContextBaseUrl {
@Test
- void shouldConstructANewURLWhenABaseURLInBrowserNewContextIsPassedToPageGoto() throws MalformedURLException {
+ void shouldConstructANewURLWhenABaseURLInBrowserNewContextIsPassedToPageGoto(Browser browser, Server server) {
try (BrowserContext context = browser.newContext(new Browser.NewContextOptions().setBaseURL(server.PREFIX))) {
Page page = context.newPage();
assertEquals(server.EMPTY_PAGE, page.navigate("/empty.html").url());
@@ -33,13 +37,13 @@ public class TestBrowserContextBaseUrl extends TestBase {
}
@Test
- void shouldConstructANewURLWhenABaseURLInBrowserNewPageIsPassedToPageGoto() {
+ void shouldConstructANewURLWhenABaseURLInBrowserNewPageIsPassedToPageGoto(Browser browser, Server server) {
try (Page page = browser.newPage(new Browser.NewPageOptions().setBaseURL(server.PREFIX))) {
assertEquals(server.EMPTY_PAGE, page.navigate("/empty.html").url());
}
}
@Test
- void shouldConstructTheURLsCorrectlyWhenABaseURLWithoutATrailingSlashInBrowserNewPageIsPassedToPageGoto() {
+ void shouldConstructTheURLsCorrectlyWhenABaseURLWithoutATrailingSlashInBrowserNewPageIsPassedToPageGoto(Browser browser, Server server) {
try (Page page = browser.newPage(new Browser.NewPageOptions().setBaseURL(server.PREFIX + "/url-construction"))) {
assertEquals(server.PREFIX + "/mypage.html", page.navigate("mypage.html").url());
assertEquals(server.PREFIX + "/mypage.html", page.navigate("./mypage.html").url());
@@ -48,7 +52,7 @@ public class TestBrowserContextBaseUrl extends TestBase {
}
@Test
- void shouldConstructTheURLsCorrectlyWhenABaseURLWithATrailingSlashInBrowserNewPageIsPassedToPageGoto() {
+ void shouldConstructTheURLsCorrectlyWhenABaseURLWithATrailingSlashInBrowserNewPageIsPassedToPageGoto(Browser browser, Server server) {
try (Page page = browser.newPage(new Browser.NewPageOptions().setBaseURL(server.PREFIX + "/url-construction/"))) {
assertEquals(server.PREFIX + "/url-construction/mypage.html", page.navigate("mypage.html").url());
assertEquals(server.PREFIX + "/url-construction/mypage.html", page.navigate("./mypage.html").url());
@@ -59,7 +63,7 @@ public class TestBrowserContextBaseUrl extends TestBase {
}
@Test
- void shouldNotConstructANewURLWhenValidURLsArePassed() {
+ void shouldNotConstructANewURLWhenValidURLsArePassed(Browser browser, Server server) {
try (Page page = browser.newPage(new Browser.NewPageOptions().setBaseURL("http://microsoft.com"))) {
assertEquals(server.EMPTY_PAGE, page.navigate(server.EMPTY_PAGE).url());
@@ -72,7 +76,7 @@ public class TestBrowserContextBaseUrl extends TestBase {
}
@Test
- void shouldBeAbleToMatchAURLRelativeToItsGivenURLWithUrlMatcher() {
+ void shouldBeAbleToMatchAURLRelativeToItsGivenURLWithUrlMatcher(Browser browser, Server server) {
try (Page page = browser.newPage(new Browser.NewPageOptions().setBaseURL(server.PREFIX + "/foobar/"))) {
page.navigate("/kek/index.html");
page.waitForURL("/kek/index.html");
diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBasic.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBasic.java
index 4bdf4c3b..d967562f 100644
--- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBasic.java
+++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextBasic.java
@@ -16,32 +16,37 @@
package com.microsoft.playwright;
-import org.junit.jupiter.api.Disabled;
+import com.microsoft.playwright.junit.FixtureTest;
+import com.microsoft.playwright.junit.UsePlaywright;
import org.junit.jupiter.api.Test;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.List;
+import static com.microsoft.playwright.TestOptionsFactories.isFirefox;
+import static com.microsoft.playwright.TestOptionsFactories.isWebKit;
import static com.microsoft.playwright.Utils.verifyViewport;
import static java.util.Arrays.asList;
import static org.junit.jupiter.api.Assertions.*;
-public class TestBrowserContextBasic extends TestBase {
+@FixtureTest
+@UsePlaywright(TestOptionsFactories.BasicOptionsFactory.class)
+public class TestBrowserContextBasic {
@Test
- void shouldCreateNewContext() {
- assertEquals(1, browser.contexts().size());
+ void shouldCreateNewContext(Browser browser) {
+ assertEquals(0, browser.contexts().size());
BrowserContext context = browser.newContext();
- assertEquals(2, browser.contexts().size());
+ assertEquals(1, browser.contexts().size());
assertTrue(browser.contexts().indexOf(context) != -1);
assertEquals(context.browser(), browser);
context.close();
- assertEquals(1, browser.contexts().size());
+ assertEquals(0, browser.contexts().size());
assertEquals(context.browser(), browser);
}
@Test
- void windowOpenShouldUseParentTabContext() {
+ void windowOpenShouldUseParentTabContext(Browser browser, Server server) {
BrowserContext context = browser.newContext();
Page page = context.newPage();
page.navigate(server.EMPTY_PAGE);
@@ -51,7 +56,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldIsolateLocalStorageAndCookies() {
+ void shouldIsolateLocalStorageAndCookies(Browser browser, Server server) {
// Create two incognito contexts.
BrowserContext context1 = browser.newContext();
BrowserContext context2 = browser.newContext();
@@ -92,11 +97,11 @@ public class TestBrowserContextBasic extends TestBase {
context1.close();
context2.close();
- assertEquals(1, browser.contexts().size());
+ assertEquals(0, browser.contexts().size());
}
@Test
- void shouldPropagateDefaultViewportToThePage() {
+ void shouldPropagateDefaultViewportToThePage(Browser browser) {
BrowserContext context = browser.newContext(new Browser.NewContextOptions().setViewportSize(456, 789));
Page page = context.newPage();
verifyViewport(page, 456, 789);
@@ -108,7 +113,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldRespectDeviceScaleFactor() {
+ void shouldRespectDeviceScaleFactor(Browser browser) {
BrowserContext context = browser.newContext(new Browser.NewContextOptions().setDeviceScaleFactor(3.0));
Page page = context.newPage();
assertEquals(3, page.evaluate("window.devicePixelRatio"));
@@ -117,7 +122,7 @@ public class TestBrowserContextBasic extends TestBase {
@Test
- void shouldNotAllowDeviceScaleFactorWithNullViewport() {
+ void shouldNotAllowDeviceScaleFactorWithNullViewport(Browser browser) {
PlaywrightException e = assertThrows(PlaywrightException.class, () -> {
browser.newContext(new Browser.NewContextOptions().setDeviceScaleFactor(1.0).setViewportSize(null));
});
@@ -125,7 +130,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldNotAllowIsMobileWithNullViewport() {
+ void shouldNotAllowIsMobileWithNullViewport(Browser browser) {
PlaywrightException e = assertThrows(PlaywrightException.class, () -> {
browser.newContext(new Browser.NewContextOptions().setIsMobile(true).setViewportSize(null));
});
@@ -133,13 +138,13 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void closeShouldWorkForEmptyContext() {
+ void closeShouldWorkForEmptyContext(Browser browser) {
BrowserContext context = browser.newContext();
context.close();
}
@Test
- void closeShouldAbortFutureEvent() {
+ void closeShouldAbortFutureEvent(Browser browser) {
BrowserContext context = browser.newContext();
PlaywrightException e = assertThrows(PlaywrightException.class, () -> {
context.waitForPage(() -> context.close());
@@ -148,7 +153,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void closeShouldBeCallableTwice() {
+ void closeShouldBeCallableTwice(Browser browser) {
BrowserContext context = browser.newContext();
context.close();
context.close();
@@ -156,7 +161,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldNotReportFramelessPagesOnError() {
+ void shouldNotReportFramelessPagesOnError(Browser browser, Server server) {
BrowserContext context = browser.newContext();
Page page = context.newPage();
server.setRoute("/empty.html", exchange -> {
@@ -181,7 +186,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldReturnAllOfThePages() {
+ void shouldReturnAllOfThePages(Browser browser) {
BrowserContext context = browser.newContext();
Page page = context.newPage();
Page second = context.newPage();
@@ -193,7 +198,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldCloseAllBelongingPagesOnceClosingContext() {
+ void shouldCloseAllBelongingPagesOnceClosingContext(Browser browser) {
BrowserContext context = browser.newContext();
context.newPage();
assertEquals(1, context.pages().size());
@@ -202,7 +207,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldDisableJavascript() {
+ void shouldDisableJavascript(Browser browser) {
{
BrowserContext context = browser.newContext(new Browser.NewContextOptions().setJavaScriptEnabled(false));
Page page = context.newPage();
@@ -225,7 +230,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldBeAbleToNavigateAfterDisablingJavascript() {
+ void shouldBeAbleToNavigateAfterDisablingJavascript(Browser browser, Server server) {
BrowserContext context = browser.newContext(new Browser.NewContextOptions().setJavaScriptEnabled(false));
Page page = context.newPage();
page.navigate(server.EMPTY_PAGE);
@@ -233,7 +238,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldWorkWithOfflineOption() {
+ void shouldWorkWithOfflineOption(Browser browser, Server server) {
BrowserContext context = browser.newContext(new Browser.NewContextOptions().setOffline(true));
Page page = context.newPage();
if (isFirefox()) {
@@ -254,7 +259,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldEmulateNavigatorOnLine() {
+ void shouldEmulateNavigatorOnLine(Browser browser) {
BrowserContext context = browser.newContext();
Page page = context.newPage();
assertEquals(true, page.evaluate("() => window.navigator.onLine"));
@@ -266,7 +271,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldWaitForCondition() {
+ void shouldWaitForCondition(Page page, BrowserContext context) {
List messages = new ArrayList<>();
page.onConsoleMessage(m -> messages.add(m.text()));
page.evaluate("setTimeout(() => {\n" +
@@ -278,13 +283,14 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void waitForConditionTimeout() {
+ void waitForConditionTimeout(BrowserContext context) {
PlaywrightException e = assertThrows(PlaywrightException.class,
() -> context.waitForCondition(() -> false, new BrowserContext.WaitForConditionOptions().setTimeout(100)));
assertTrue(e.getMessage().contains("Timeout"), e.getMessage());
}
+
@Test
- void waitForConditionPageClosed() {
+ void waitForConditionPageClosed(BrowserContext context) {
PlaywrightException e = assertThrows(PlaywrightException.class,
() -> context.waitForCondition(() -> {
context.close();
@@ -294,7 +300,7 @@ public class TestBrowserContextBasic extends TestBase {
}
@Test
- void shouldPropagateCloseReasonToPendingActions() {
+ void shouldPropagateCloseReasonToPendingActions(Browser browser) {
BrowserContext context = browser.newContext();
Page page = context.newPage();
PlaywrightException e = assertThrows(PlaywrightException.class, () -> page.waitForPopup(() -> {
diff --git a/playwright/src/test/java/com/microsoft/playwright/TestOptionsFactories.java b/playwright/src/test/java/com/microsoft/playwright/TestOptionsFactories.java
index 2022becb..b3bd84c2 100644
--- a/playwright/src/test/java/com/microsoft/playwright/TestOptionsFactories.java
+++ b/playwright/src/test/java/com/microsoft/playwright/TestOptionsFactories.java
@@ -55,4 +55,12 @@ public class TestOptionsFactories {
public static boolean isChromium() {
return getBrowserName().equals("chromium");
}
+
+ public static boolean isFirefox() {
+ return getBrowserName().equals("firefox");
+ }
+
+ public static boolean isWebKit() {
+ return getBrowserName().equals("webkit");
+ }
}