Skip to content

Commit 45e4e29

Browse files
committed
[java] add tests for Firefox addons
1 parent 5a21858 commit 45e4e29

1 file changed

Lines changed: 69 additions & 23 deletions

File tree

java/test/org/openqa/selenium/firefox/FirefoxDriverTest.java

Lines changed: 69 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,11 @@
7979

8080
public class FirefoxDriverTest extends JupiterTestBase {
8181

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

546549
@Test
547-
public void canAddRemoveExtensions() {
548-
Path extension = InProject.locate(EXT_PATH);
550+
public void canAddRemoveXpiExtensions() {
551+
Path extension = InProject.locate(EXT_XPI);
549552

550553
String id = ((HasExtensions) driver).installExtension(extension);
551554
assertThat(id).isEqualTo("[email protected]");
552555

553-
try {
554-
((HasExtensions) driver).uninstallExtension(id);
555-
} catch (WebDriverException ex) {
556-
fail(ex.getMessage());
557-
}
556+
driver.get(pages.blankPage);
557+
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
558+
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");
559+
560+
((HasExtensions) driver).uninstallExtension(id);
561+
562+
driver.navigate().refresh();
563+
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
558564
}
559565

560566
@Test
561-
public void canAddRemoveTempExtensions() {
562-
Path extension = InProject.locate(EXT_PATH);
567+
public void canAddRemoveZipUnSignedExtensions() {
568+
Path extension = InProject.locate(EXT_UNSIGNED_ZIP);
563569

564570
String id = ((HasExtensions) driver).installExtension(extension, true);
565571
assertThat(id).isEqualTo("[email protected]");
566572

567-
try {
568-
((HasExtensions) driver).uninstallExtension(id);
569-
} catch (WebDriverException ex) {
570-
fail(ex.getMessage());
571-
}
573+
driver.get(pages.blankPage);
574+
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
575+
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");
576+
577+
((HasExtensions) driver).uninstallExtension(id);
578+
579+
driver.navigate().refresh();
580+
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
581+
}
582+
583+
@Test
584+
public void canAddRemoveZipSignedExtensions() {
585+
Path extension = InProject.locate(EXT_SIGNED_ZIP);
586+
587+
String id = ((HasExtensions) driver).installExtension(extension);
588+
assertThat(id).isEqualTo("[email protected]");
589+
590+
driver.get(pages.blankPage);
591+
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
592+
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");
593+
594+
((HasExtensions) driver).uninstallExtension(id);
595+
596+
driver.navigate().refresh();
597+
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
572598
}
573599

574600
@Test
575-
public void canAddRemoveTempExtensionsDirectory() {
576-
Path extension = InProject.locate(EXT_PATH_DIR);
601+
public void canAddRemoveUnsignedExtensionsDirectory() {
602+
Path extension = InProject.locate(EXT_UNSIGNED_DIR);
577603

578604
String id = ((HasExtensions) driver).installExtension(extension, true);
579605
assertThat(id).isEqualTo("[email protected]");
580606

581-
try {
582-
((HasExtensions) driver).uninstallExtension(id);
583-
} catch (WebDriverException ex) {
584-
fail(ex.getMessage());
585-
}
607+
driver.get(pages.blankPage);
608+
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
609+
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");
610+
611+
((HasExtensions) driver).uninstallExtension(id);
612+
613+
driver.navigate().refresh();
614+
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
615+
}
616+
617+
@Test
618+
public void canAddRemoveSignedExtensionsDirectory() {
619+
Path extension = InProject.locate(EXT_SIGNED_DIR);
620+
621+
String id = ((HasExtensions) driver).installExtension(extension);
622+
assertThat(id).isEqualTo("[email protected]");
623+
624+
driver.get(pages.blankPage);
625+
WebElement injected = driver.findElement(By.id("webextensions-selenium-example"));
626+
assertThat(injected.getText()).isEqualTo("Content injected by webextensions-selenium-example");
627+
628+
((HasExtensions) driver).uninstallExtension(id);
629+
630+
driver.navigate().refresh();
631+
assertThat(driver.findElements(By.id("webextensions-selenium-example")).size()).isZero();
586632
}
587633

588634
@Test

0 commit comments

Comments
 (0)