Skip to content

Commit

Permalink
[bidi][java] Add command to remove preload script
Browse files Browse the repository at this point in the history
  • Loading branch information
pujagani committed Oct 31, 2023
1 parent ca011b3 commit 3d30eb1
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
4 changes: 4 additions & 0 deletions java/src/org/openqa/selenium/bidi/Script.java
Expand Up @@ -289,6 +289,10 @@ public String addPreloadScript(
}));
}

public void removePreloadScript(String id) {
this.bidi.send(new Command<>("script.removePreloadScript", Map.of("script", id)));
}

private Map<String, Object> getCallFunctionParams(
String targetType,
String id,
Expand Down
25 changes: 25 additions & 0 deletions java/test/org/openqa/selenium/bidi/script/ScriptCommandsTest.java
Expand Up @@ -794,6 +794,31 @@ void canAddPreloadScriptInASandbox() {
assertThat(((EvaluateResultSuccess) result).getResult().getValue().get()).isEqualTo(2L);
}

@Test
void canRemovePreloadedScript() {
Script script = new Script(driver.getWindowHandle(), driver);
String id = script.addPreloadScript("() => { window.bar=2; }");
assertThat(id).isNotNull();
assertThat(id).isNotEmpty();

driver.get(new Pages(server).blankPage);

EvaluateResult result =
script.evaluateFunctionInBrowsingContext(
driver.getWindowHandle(), "window.bar", true, Optional.empty());
assertThat(result.getResultType()).isEqualTo(EvaluateResult.Type.SUCCESS);
assertThat(((EvaluateResultSuccess) result).getResult().getValue().get()).isEqualTo(2L);

script.removePreloadScript(id);

EvaluateResult resultAfterRemoval =
script.evaluateFunctionInBrowsingContext(
driver.getWindowHandle(), "sandbox", "window.bar", true, Optional.empty());
assertThat(resultAfterRemoval.getResultType()).isEqualTo(EvaluateResult.Type.SUCCESS);
assertThat(((EvaluateResultSuccess) resultAfterRemoval).getResult().getValue().isPresent())
.isFalse();
}

@AfterEach
public void quitDriver() {
if (driver != null) {
Expand Down

0 comments on commit 3d30eb1

Please sign in to comment.