Add the ability to install a Firefox add-on at runtime

This commit is contained in:
Michael Mintz 2021-02-05 23:42:07 -05:00
parent caec440bef
commit 7ca6b9107d
2 changed files with 14 additions and 0 deletions

View File

@ -208,6 +208,8 @@ self.wait_for_angularjs(timeout=None)
self.sleep(seconds)
# Duplicates: self.wait(seconds)
self.install_addon(xpi_file)
self.activate_design_mode()
self.deactivate_design_mode()

View File

@ -2184,6 +2184,18 @@ class BaseCase(unittest.TestCase):
break
time.sleep(0.2)
def install_addon(self, xpi_file):
""" Installs a Firefox add-on instantly at run-time.
@Params
xpi_file - A file archive in .xpi format. """
if self.browser != "firefox":
raise Exception(
"install_addon(xpi_file) is for Firefox ONLY!\n"
"To load a Chrome extension, use the comamnd-line:\n"
"--extension_zip=CRX_FILE OR --extension_dir=DIR")
xpi_path = os.path.abspath(xpi_file)
self.driver.install_addon(xpi_path, temporary=True)
def activate_design_mode(self):
# Activate Chrome's Design Mode, which lets you edit a site directly.
# See: https://twitter.com/sulco/status/1177559150563344384