Skip to content

Commit

Permalink
[java] add tests for Firefox addons
Browse files Browse the repository at this point in the history
  • Loading branch information
titusfortner committed Sep 13, 2022
1 parent 5a21858 commit 45e4e29
Showing 1 changed file with 69 additions and 23 deletions.
92 changes: 69 additions & 23 deletions java/test/org/openqa/selenium/firefox/FirefoxDriverTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,11 @@

public class FirefoxDriverTest extends JupiterTestBase {

private static final String EXT_PATH = "common/extensions/webextensions-selenium-example.xpi";
private static final String EXT_PATH_DIR = "common/extensions/webextensions-selenium-example";
private static final String EXT_XPI = "common/extensions/webextensions-selenium-example.xpi";
private static final String EXT_SIGNED_ZIP = "common/extensions/webextensions-selenium-example.zip";
private static final String EXT_UNSIGNED_ZIP = "common/extensions/webextensions-selenium-example-unsigned.zip";
private static final String EXT_SIGNED_DIR = "common/extensions/webextensions-selenium-example-signed";
private static final String EXT_UNSIGNED_DIR = "common/extensions/webextensions-selenium-example";
private static char[] CHARS =
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890!\"§$%&/()+*~#',.-_:;\\"
.toCharArray();
Expand Down Expand Up @@ -544,45 +547,88 @@ public void testFirefoxCanNativelyClickOverlappingElements() {
}

@Test
public void canAddRemoveExtensions() {
Path extension = InProject.locate(EXT_PATH);
public void canAddRemoveXpiExtensions() {
Path extension = InProject.locate(EXT_XPI);

String id = ((HasExtensions) driver).installExtension(extension);
assertThat(id).isEqualTo("webextensions-selenium-example@example.com");

try {
((HasExtensions) driver).uninstallExtension(id);
} catch (WebDriverException ex) {
fail(ex.getMessage());
}
driver.get(pages.blankPage);
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");

((HasExtensions) driver).uninstallExtension(id);

driver.navigate().refresh();
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
}

@Test
public void canAddRemoveTempExtensions() {
Path extension = InProject.locate(EXT_PATH);
public void canAddRemoveZipUnSignedExtensions() {
Path extension = InProject.locate(EXT_UNSIGNED_ZIP);

String id = ((HasExtensions) driver).installExtension(extension, true);
assertThat(id).isEqualTo("webextensions-selenium-example@example.com");

try {
((HasExtensions) driver).uninstallExtension(id);
} catch (WebDriverException ex) {
fail(ex.getMessage());
}
driver.get(pages.blankPage);
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");

((HasExtensions) driver).uninstallExtension(id);

driver.navigate().refresh();
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
}

@Test
public void canAddRemoveZipSignedExtensions() {
Path extension = InProject.locate(EXT_SIGNED_ZIP);

String id = ((HasExtensions) driver).installExtension(extension);
assertThat(id).isEqualTo("webextensions-selenium-example@example.com");

driver.get(pages.blankPage);
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");

((HasExtensions) driver).uninstallExtension(id);

driver.navigate().refresh();
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
}

@Test
public void canAddRemoveTempExtensionsDirectory() {
Path extension = InProject.locate(EXT_PATH_DIR);
public void canAddRemoveUnsignedExtensionsDirectory() {
Path extension = InProject.locate(EXT_UNSIGNED_DIR);

String id = ((HasExtensions) driver).installExtension(extension, true);
assertThat(id).isEqualTo("webextensions-selenium-example@example.com");

try {
((HasExtensions) driver).uninstallExtension(id);
} catch (WebDriverException ex) {
fail(ex.getMessage());
}
driver.get(pages.blankPage);
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");

((HasExtensions) driver).uninstallExtension(id);

driver.navigate().refresh();
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
}

@Test
public void canAddRemoveSignedExtensionsDirectory() {
Path extension = InProject.locate(EXT_SIGNED_DIR);

String id = ((HasExtensions) driver).installExtension(extension);
assertThat(id).isEqualTo("webextensions-selenium-example@example.com");

driver.get(pages.blankPage);
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");

((HasExtensions) driver).uninstallExtension(id);

driver.navigate().refresh();
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
}

@Test
Expand Down

0 comments on commit 45e4e29

Please sign in to comment.