From e24abbe5ed22aee9fdfeadafa3b68c7d62817bc6 Mon Sep 17 00:00:00 2001 From: Puja Jagani Date: Fri, 23 Feb 2024 17:33:54 +0530 Subject: [PATCH] [bidi][java] Add missing code example for Script module --- .../webdriver_bidi/ScriptTest.java | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/examples/java/src/test/java/dev/selenium/bidirectional/webdriver_bidi/ScriptTest.java b/examples/java/src/test/java/dev/selenium/bidirectional/webdriver_bidi/ScriptTest.java index 379dd864a7c..7bd1eee08b5 100644 --- a/examples/java/src/test/java/dev/selenium/bidirectional/webdriver_bidi/ScriptTest.java +++ b/examples/java/src/test/java/dev/selenium/bidirectional/webdriver_bidi/ScriptTest.java @@ -1,6 +1,8 @@ package dev.selenium.bidirectional.webdriver_bidi; import dev.selenium.BaseTest; + +import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.concurrent.CompletableFuture; @@ -24,6 +26,7 @@ import org.openqa.selenium.bidi.script.EvaluateResultExceptionValue; import org.openqa.selenium.bidi.script.EvaluateResultSuccess; import org.openqa.selenium.bidi.script.LocalValue; +import org.openqa.selenium.bidi.script.PrimitiveProtocolValue; import org.openqa.selenium.bidi.script.RealmInfo; import org.openqa.selenium.bidi.script.RealmType; import org.openqa.selenium.bidi.script.RemoteReference; @@ -52,6 +55,30 @@ void canCallFunctionWithDeclaration() { } } + @Test + void canCallFunctionWithArguments() { + String id = driver.getWindowHandle(); + try (Script script = new Script(id, driver)) { + List arguments = new ArrayList<>(); + LocalValue value1 = PrimitiveProtocolValue.stringValue("ARGUMENT_STRING_VALUE"); + LocalValue value2 = PrimitiveProtocolValue.numberValue(42); + arguments.add(value1); + arguments.add(value2); + + EvaluateResult result = + script.callFunctionInBrowsingContext( + id, + "(...args)=>{return args}", + false, + Optional.of(arguments), + Optional.empty(), + Optional.empty()); + + EvaluateResultSuccess successResult = (EvaluateResultSuccess) result; + Assertions.assertEquals(2, ((List) successResult.getResult().getValue().get()).size()); + } + } + @Test void canCallFunctionWithAwaitPromise() { String id = driver.getWindowHandle();