Path: blob/trunk/py/test/selenium/webdriver/firefox/ff_installs_addons_tests.py
1865 views
# Licensed to the Software Freedom Conservancy (SFC) under one1# or more contributor license agreements. See the NOTICE file2# distributed with this work for additional information3# regarding copyright ownership. The SFC licenses this file4# to you under the Apache License, Version 2.0 (the5# "License"); you may not use this file except in compliance6# with the License. You may obtain a copy of the License at7#8# http://www.apache.org/licenses/LICENSE-2.09#10# Unless required by applicable law or agreed to in writing,11# software distributed under the License is distributed on an12# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY13# KIND, either express or implied. See the License for the14# specific language governing permissions and limitations15# under the License.1617import os18import zipfile1920from selenium.webdriver.common.by import By21from selenium.webdriver.support.wait import WebDriverWait2223extensions = os.path.abspath("../../../../../../test/extensions/")242526def test_install_uninstall_signed_addon_xpi(driver, pages):27extension = os.path.join(extensions, "webextensions-selenium-example.xpi")2829id = driver.install_addon(extension)30assert id == "[email protected]"3132pages.load("blank.html")33injected = WebDriverWait(driver, timeout=2).until(34lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")35)36assert injected.text == "Content injected by webextensions-selenium-example"3738driver.uninstall_addon(id)39driver.refresh()40assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0414243def test_install_uninstall_signed_addon_zip(driver, pages):44extension = os.path.join(extensions, "webextensions-selenium-example.zip")4546id = driver.install_addon(extension)47assert id == "[email protected]"4849pages.load("blank.html")50injected = WebDriverWait(driver, timeout=2).until(51lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")52)53assert injected.text == "Content injected by webextensions-selenium-example"5455driver.uninstall_addon(id)56driver.refresh()57assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0585960def test_install_uninstall_unsigned_addon_zip(driver, pages):61extension = os.path.join(extensions, "webextensions-selenium-example-unsigned.zip")6263id = driver.install_addon(extension, temporary=True)64assert id == "[email protected]"6566pages.load("blank.html")67injected = WebDriverWait(driver, timeout=2).until(68lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")69)70assert injected.text == "Content injected by webextensions-selenium-example"7172driver.uninstall_addon(id)73driver.refresh()74assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0757677def test_install_uninstall_signed_addon_dir(driver, pages):78zip = os.path.join(extensions, "webextensions-selenium-example.zip")7980target = os.path.join(extensions, "webextensions-selenium-example-unzip")81with zipfile.ZipFile(zip, "r") as zip_ref:82zip_ref.extractall(target)8384id = driver.install_addon(target)85assert id == "[email protected]"8687pages.load("blank.html")88injected = WebDriverWait(driver, timeout=2).until(89lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")90)91assert injected.text == "Content injected by webextensions-selenium-example"9293driver.uninstall_addon(id)94driver.refresh()95assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0969798def test_install_uninstall_unsigned_addon_dir(driver, pages):99zip = os.path.join(extensions, "webextensions-selenium-example-unsigned.zip")100target = os.path.join(extensions, "webextensions-selenium-example-unsigned-unzip")101with zipfile.ZipFile(zip, "r") as zip_ref:102zip_ref.extractall(target)103104id = driver.install_addon(target, temporary=True)105assert id == "[email protected]"106107pages.load("blank.html")108injected = WebDriverWait(driver, timeout=2).until(109lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")110)111assert injected.text == "Content injected by webextensions-selenium-example"112113driver.uninstall_addon(id)114driver.refresh()115assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0116117118