From cd3b45acd0e123d5bbfcfab0f8a704d21f507811 Mon Sep 17 00:00:00 2001 From: Yury Semikhatsky Date: Wed, 11 Aug 2021 16:49:18 -0700 Subject: [PATCH] chore: update driver to 1.14.0-next-1628705690000 (#552) --- .../playwright/impl/LocatorImpl.java | 78 +++++++++---------- .../TestBrowserContextAddCookies.java | 9 ++- .../playwright/TestBrowserContextCookies.java | 32 +++++--- .../TestBrowserContextStorageState.java | 28 +++---- scripts/CLI_VERSION | 2 +- 5 files changed, 80 insertions(+), 69 deletions(-) diff --git a/playwright/src/main/java/com/microsoft/playwright/impl/LocatorImpl.java b/playwright/src/main/java/com/microsoft/playwright/impl/LocatorImpl.java index 746fedfc..1e30bbbc 100644 --- a/playwright/src/main/java/com/microsoft/playwright/impl/LocatorImpl.java +++ b/playwright/src/main/java/com/microsoft/playwright/impl/LocatorImpl.java @@ -18,12 +18,10 @@ import static com.microsoft.playwright.impl.Utils.convertViaJson; class LocatorImpl implements Locator { private final FrameImpl frame; private final String selector; - private final String visibleSelector; public LocatorImpl(FrameImpl frame, String selector) { this.frame = frame; this.selector = selector; - this.visibleSelector = selector + " >> _visible=true"; } private R withElement(BiFunction callback, O options) { @@ -65,7 +63,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new CheckOptions(); } - frame.check(visibleSelector, convertViaJson(options, Frame.CheckOptions.class).setStrict(true)); + frame.check(selector, convertViaJson(options, Frame.CheckOptions.class).setStrict(true)); } @Override @@ -73,7 +71,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new ClickOptions(); } - frame.click(visibleSelector, convertViaJson(options, Frame.ClickOptions.class).setStrict(true)); + frame.click(selector, convertViaJson(options, Frame.ClickOptions.class).setStrict(true)); } @Override @@ -86,7 +84,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new DblclickOptions(); } - frame.dblclick(visibleSelector, convertViaJson(options, Frame.DblclickOptions.class).setStrict(true)); + frame.dblclick(selector, convertViaJson(options, Frame.DblclickOptions.class).setStrict(true)); } @Override @@ -94,7 +92,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new DispatchEventOptions(); } - frame.dispatchEvent(visibleSelector, type, eventInit, convertViaJson(options, Frame.DispatchEventOptions.class).setStrict(true)); + frame.dispatchEvent(selector, type, eventInit, convertViaJson(options, Frame.DispatchEventOptions.class).setStrict(true)); } @Override @@ -105,12 +103,12 @@ class LocatorImpl implements Locator { Frame.WaitForSelectorOptions frameOptions = convertViaJson(options, Frame.WaitForSelectorOptions.class); frameOptions.setStrict(true); frameOptions.setState(WaitForSelectorState.ATTACHED); - return frame.waitForSelector(visibleSelector, frameOptions); + return frame.waitForSelector(selector, frameOptions); } @Override public List elementHandles() { - return frame.querySelectorAll(visibleSelector); + return frame.querySelectorAll(selector); } @Override @@ -120,7 +118,7 @@ class LocatorImpl implements Locator { @Override public Object evaluateAll(String expression, Object arg) { - return frame.evalOnSelectorAll(visibleSelector, expression, arg); + return frame.evalOnSelectorAll(selector, expression, arg); } @Override @@ -133,12 +131,12 @@ class LocatorImpl implements Locator { if (options == null) { options = new FillOptions(); } - frame.fill(visibleSelector, value, convertViaJson(options, Frame.FillOptions.class).setStrict(true)); + frame.fill(selector, value, convertViaJson(options, Frame.FillOptions.class).setStrict(true)); } @Override public Locator first() { - return new LocatorImpl(frame, selector + " >> _nth=first"); + return new LocatorImpl(frame, selector + " >> nth=0"); } @Override @@ -146,7 +144,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new FocusOptions(); } - frame.focus(visibleSelector, convertViaJson(options, Frame.FocusOptions.class).setStrict(true)); + frame.focus(selector, convertViaJson(options, Frame.FocusOptions.class).setStrict(true)); } @Override @@ -154,7 +152,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new GetAttributeOptions(); } - return frame.getAttribute(visibleSelector, name, convertViaJson(options, Frame.GetAttributeOptions.class).setStrict(true)); + return frame.getAttribute(selector, name, convertViaJson(options, Frame.GetAttributeOptions.class).setStrict(true)); } @Override @@ -162,7 +160,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new HoverOptions(); } - frame.hover(visibleSelector, convertViaJson(options, Frame.HoverOptions.class).setStrict(true)); + frame.hover(selector, convertViaJson(options, Frame.HoverOptions.class).setStrict(true)); } @Override @@ -170,7 +168,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new InnerHTMLOptions(); } - return frame.innerHTML(visibleSelector, convertViaJson(options, Frame.InnerHTMLOptions.class).setStrict(true)); + return frame.innerHTML(selector, convertViaJson(options, Frame.InnerHTMLOptions.class).setStrict(true)); } @Override @@ -178,7 +176,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new InnerTextOptions(); } - return frame.innerText(visibleSelector, convertViaJson(options, Frame.InnerTextOptions.class).setStrict(true)); + return frame.innerText(selector, convertViaJson(options, Frame.InnerTextOptions.class).setStrict(true)); } @Override @@ -186,7 +184,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new InputValueOptions(); } - return frame.inputValue(visibleSelector, convertViaJson(options, Frame.InputValueOptions.class).setStrict(true)); + return frame.inputValue(selector, convertViaJson(options, Frame.InputValueOptions.class).setStrict(true)); } @Override @@ -194,7 +192,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new IsCheckedOptions(); } - return frame.isChecked(visibleSelector, convertViaJson(options, Frame.IsCheckedOptions.class).setStrict(true)); + return frame.isChecked(selector, convertViaJson(options, Frame.IsCheckedOptions.class).setStrict(true)); } @Override @@ -202,7 +200,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new IsDisabledOptions(); } - return frame.isDisabled(visibleSelector, convertViaJson(options, Frame.IsDisabledOptions.class).setStrict(true)); + return frame.isDisabled(selector, convertViaJson(options, Frame.IsDisabledOptions.class).setStrict(true)); } @Override @@ -210,7 +208,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new IsEditableOptions(); } - return frame.isEditable(visibleSelector, convertViaJson(options, Frame.IsEditableOptions.class).setStrict(true)); + return frame.isEditable(selector, convertViaJson(options, Frame.IsEditableOptions.class).setStrict(true)); } @Override @@ -218,7 +216,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new IsEnabledOptions(); } - return frame.isEnabled(visibleSelector, convertViaJson(options, Frame.IsEnabledOptions.class).setStrict(true)); + return frame.isEnabled(selector, convertViaJson(options, Frame.IsEnabledOptions.class).setStrict(true)); } @Override @@ -226,7 +224,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new IsHiddenOptions(); } - return frame.isHidden(visibleSelector, convertViaJson(options, Frame.IsHiddenOptions.class).setStrict(true)); + return frame.isHidden(selector, convertViaJson(options, Frame.IsHiddenOptions.class).setStrict(true)); } @Override @@ -234,12 +232,12 @@ class LocatorImpl implements Locator { if (options == null) { options = new IsVisibleOptions(); } - return frame.isVisible(visibleSelector, convertViaJson(options, Frame.IsVisibleOptions.class).setStrict(true)); + return frame.isVisible(selector, convertViaJson(options, Frame.IsVisibleOptions.class).setStrict(true)); } @Override public Locator last() { - return new LocatorImpl(frame, selector + " >> _nth=last"); + return new LocatorImpl(frame, selector + " >> nth=-1"); } @Override @@ -249,7 +247,7 @@ class LocatorImpl implements Locator { @Override public Locator nth(int index) { - return new LocatorImpl(frame, selector + " >> _nth=" + index); + return new LocatorImpl(frame, selector + " >> nth=" + index); } @Override @@ -257,7 +255,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new PressOptions(); } - frame.press(visibleSelector, key, convertViaJson(options, Frame.PressOptions.class).setStrict(true)); + frame.press(selector, key, convertViaJson(options, Frame.PressOptions.class).setStrict(true)); } @Override @@ -278,7 +276,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SelectOptionOptions(); } - return frame.selectOption(visibleSelector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); + return frame.selectOption(selector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); } @Override @@ -286,7 +284,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SelectOptionOptions(); } - return frame.selectOption(visibleSelector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); + return frame.selectOption(selector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); } @Override @@ -294,7 +292,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SelectOptionOptions(); } - return frame.selectOption(visibleSelector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); + return frame.selectOption(selector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); } @Override @@ -302,7 +300,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SelectOptionOptions(); } - return frame.selectOption(visibleSelector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); + return frame.selectOption(selector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); } @Override @@ -310,7 +308,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SelectOptionOptions(); } - return frame.selectOption(visibleSelector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); + return frame.selectOption(selector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); } @Override @@ -318,7 +316,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SelectOptionOptions(); } - return frame.selectOption(visibleSelector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); + return frame.selectOption(selector, values, convertViaJson(options, Frame.SelectOptionOptions.class).setStrict(true)); } @Override @@ -334,7 +332,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SetInputFilesOptions(); } - frame.setInputFiles(visibleSelector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); + frame.setInputFiles(selector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); } @Override @@ -342,7 +340,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SetInputFilesOptions(); } - frame.setInputFiles(visibleSelector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); + frame.setInputFiles(selector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); } @Override @@ -350,7 +348,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SetInputFilesOptions(); } - frame.setInputFiles(visibleSelector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); + frame.setInputFiles(selector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); } @Override @@ -358,7 +356,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new SetInputFilesOptions(); } - frame.setInputFiles(visibleSelector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); + frame.setInputFiles(selector, files, convertViaJson(options, Frame.SetInputFilesOptions.class).setStrict(true)); } @Override @@ -366,7 +364,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new TapOptions(); } - frame.tap(visibleSelector, convertViaJson(options, Frame.TapOptions.class).setStrict(true)); + frame.tap(selector, convertViaJson(options, Frame.TapOptions.class).setStrict(true)); } @Override @@ -374,7 +372,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new TextContentOptions(); } - return frame.textContent(visibleSelector, convertViaJson(options, Frame.TextContentOptions.class).setStrict(true)); + return frame.textContent(selector, convertViaJson(options, Frame.TextContentOptions.class).setStrict(true)); } @Override @@ -382,7 +380,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new TypeOptions(); } - frame.type(visibleSelector, text, convertViaJson(options, Frame.TypeOptions.class).setStrict(true)); + frame.type(selector, text, convertViaJson(options, Frame.TypeOptions.class).setStrict(true)); } @Override @@ -390,7 +388,7 @@ class LocatorImpl implements Locator { if (options == null) { options = new UncheckOptions(); } - frame.uncheck(visibleSelector, convertViaJson(options, Frame.UncheckOptions.class).setStrict(true)); + frame.uncheck(selector, convertViaJson(options, Frame.UncheckOptions.class).setStrict(true)); } @Override diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java index 5d6620e8..59bc3631 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextAddCookies.java @@ -26,6 +26,7 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; import static com.microsoft.playwright.Utils.assertJsonEquals; +import static com.microsoft.playwright.Utils.getOS; import static java.util.Arrays.asList; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; @@ -217,7 +218,7 @@ public class TestBrowserContextAddCookies extends TestBase { " expires: -1,\n" + " httpOnly: false,\n" + " secure: false,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + "}]", cookies); } @@ -236,7 +237,7 @@ public class TestBrowserContextAddCookies extends TestBase { " expires: -1,\n" + " httpOnly: false,\n" + " secure: false,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + "}]", cookies); assertEquals("gridcookie=GRID", page.evaluate("document.cookie")); page.navigate(server.EMPTY_PAGE); @@ -309,7 +310,7 @@ public class TestBrowserContextAddCookies extends TestBase { " expires: -1,\n" + " httpOnly: false,\n" + " secure: true,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + "}]", context.cookies("https://www.example.com")); } @@ -345,7 +346,7 @@ public class TestBrowserContextAddCookies extends TestBase { "}", server.CROSS_PROCESS_PREFIX + "/grid.html"); page.frames().get(1).evaluate("document.cookie = 'username=John Doe'"); page.waitForTimeout(2000); - boolean allowsThirdParty = isChromium() || isFirefox(); + boolean allowsThirdParty = isFirefox(); List cookies = context.cookies(server.CROSS_PROCESS_PREFIX + "/grid.html"); if (allowsThirdParty) { assertJsonEquals("[{\n" + diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextCookies.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextCookies.java index 1fc19f66..fb405932 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextCookies.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextCookies.java @@ -50,7 +50,7 @@ public class TestBrowserContextCookies extends TestBase { " expires: -1,\n" + " httpOnly: false,\n" + " secure: false,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + " }]", cookies); } @@ -74,7 +74,11 @@ public class TestBrowserContextCookies extends TestBase { assertEquals(timestamp, cookie.expires); assertEquals(false, cookie.httpOnly); assertEquals(false, cookie.secure); - assertEquals(SameSiteAttribute.NONE, cookie.sameSite); + if (isChromium()) { + assertEquals(SameSiteAttribute.LAX, cookie.sameSite); + } else { + assertEquals(SameSiteAttribute.NONE, cookie.sameSite); + } } @Test @@ -142,7 +146,7 @@ public class TestBrowserContextCookies extends TestBase { " expires: -1,\n" + " httpOnly: false,\n" + " secure: false,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + " },\n" + " {\n" + " name: 'username',\n" + @@ -152,7 +156,7 @@ public class TestBrowserContextCookies extends TestBase { " expires: -1,\n" + " httpOnly: false,\n" + " secure: false,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + " }\n" + "]", cookies); } @@ -170,19 +174,19 @@ public class TestBrowserContextCookies extends TestBase { " value: 'tweets',\n" + " domain: 'baz.com',\n" + " path: '/',\n" + - " expires: -1,\n" + + " expires: -1.0,\n" + " httpOnly: false,\n" + " secure: true,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + "}, {\n" + " name: 'doggo',\n" + " value: 'woofs',\n" + " domain: 'foo.com',\n" + " path: '/',\n" + - " expires: -1,\n" + + " expires: -1.0,\n" + " httpOnly: false,\n" + " secure: true,\n" + - " sameSite: 'NONE'\n" + + " sameSite: '" + (isChromium() ? "LAX" : "NONE") +"'\n" + "}]", cookies); } @@ -200,9 +204,17 @@ public class TestBrowserContextCookies extends TestBase { page.navigate(server.EMPTY_PAGE); Object documentCookie = page.evaluate("document.cookie.split('; ').sort().join('; ')"); - assertEquals("one=uno; three=tres; two=dos", documentCookie); + if (isChromium()) { + assertEquals("one=uno; two=dos", documentCookie); + } else { + assertEquals("one=uno; three=tres; two=dos", documentCookie); + } List list = context.cookies().stream().map(c -> c.sameSite).sorted().collect(Collectors.toList()); - assertEquals(asList( SameSiteAttribute.STRICT, SameSiteAttribute.LAX, SameSiteAttribute.NONE), list); + if (isChromium()) { + assertEquals(asList(SameSiteAttribute.STRICT, SameSiteAttribute.LAX), list); + } else { + assertEquals(asList(SameSiteAttribute.STRICT, SameSiteAttribute.LAX, SameSiteAttribute.NONE), list); + } } } diff --git a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java index 2da1e954..3ad573c0 100644 --- a/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java +++ b/playwright/src/test/java/com/microsoft/playwright/TestBrowserContextStorageState.java @@ -100,24 +100,24 @@ public class TestBrowserContextStorageState extends TestBase { context.storageState(new BrowserContext.StorageStateOptions().setPath(path)); JsonObject expected = new Gson().fromJson( "{\n" + - " \"cookies\":[\n" + + " 'cookies':[\n" + " { \n" + - " \"name\":\"username\",\n" + - " \"value\":\"John Doe\",\n" + - " \"domain\":\"www.example.com\",\n" + - " \"path\":\"/\",\n" + - " \"expires\":-1,\n" + - " \"httpOnly\":false,\n" + - " \"secure\":false,\n" + - " \"sameSite\":\"None\"\n" + + " 'name':'username',\n" + + " 'value':'John Doe',\n" + + " 'domain':'www.example.com',\n" + + " 'path':'/',\n" + + " 'expires':-1,\n" + + " 'httpOnly':false,\n" + + " 'secure':false,\n" + + " 'sameSite':'" + (isChromium() ? "Lax" : "None") + "'\n" + " }],\n" + - " \"origins\":[\n" + + " 'origins':[\n" + " {\n" + - " \"origin\":\"https://www.example.com\",\n" + - " \"localStorage\":[\n" + + " 'origin':'https://www.example.com',\n" + + " 'localStorage':[\n" + " {\n" + - " \"name\":\"name1\",\n" + - " \"value\":\"value1\"\n" + + " 'name':'name1',\n" + + " 'value':'value1'\n" + " }]\n" + " }]\n" + "}\n", JsonObject.class); diff --git a/scripts/CLI_VERSION b/scripts/CLI_VERSION index 31da9b25..620ffdaf 100644 --- a/scripts/CLI_VERSION +++ b/scripts/CLI_VERSION @@ -1 +1 @@ -1.14.0-next-1628276501000 +1.14.0-next-1628705690000