Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
SeleniumHQ
GitHub Repository: SeleniumHQ/Selenium
Path: blob/trunk/py/test/selenium/webdriver/firefox/ff_installs_addons_tests.py
1865 views
1
# Licensed to the Software Freedom Conservancy (SFC) under one
2
# or more contributor license agreements. See the NOTICE file
3
# distributed with this work for additional information
4
# regarding copyright ownership. The SFC licenses this file
5
# to you under the Apache License, Version 2.0 (the
6
# "License"); you may not use this file except in compliance
7
# with the License. You may obtain a copy of the License at
8
#
9
# http://www.apache.org/licenses/LICENSE-2.0
10
#
11
# Unless required by applicable law or agreed to in writing,
12
# software distributed under the License is distributed on an
13
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14
# KIND, either express or implied. See the License for the
15
# specific language governing permissions and limitations
16
# under the License.
17
18
import os
19
import zipfile
20
21
from selenium.webdriver.common.by import By
22
from selenium.webdriver.support.wait import WebDriverWait
23
24
extensions = os.path.abspath("../../../../../../test/extensions/")
25
26
27
def test_install_uninstall_signed_addon_xpi(driver, pages):
28
extension = os.path.join(extensions, "webextensions-selenium-example.xpi")
29
30
id = driver.install_addon(extension)
31
assert id == "[email protected]"
32
33
pages.load("blank.html")
34
injected = WebDriverWait(driver, timeout=2).until(
35
lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")
36
)
37
assert injected.text == "Content injected by webextensions-selenium-example"
38
39
driver.uninstall_addon(id)
40
driver.refresh()
41
assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0
42
43
44
def test_install_uninstall_signed_addon_zip(driver, pages):
45
extension = os.path.join(extensions, "webextensions-selenium-example.zip")
46
47
id = driver.install_addon(extension)
48
assert id == "[email protected]"
49
50
pages.load("blank.html")
51
injected = WebDriverWait(driver, timeout=2).until(
52
lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")
53
)
54
assert injected.text == "Content injected by webextensions-selenium-example"
55
56
driver.uninstall_addon(id)
57
driver.refresh()
58
assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0
59
60
61
def test_install_uninstall_unsigned_addon_zip(driver, pages):
62
extension = os.path.join(extensions, "webextensions-selenium-example-unsigned.zip")
63
64
id = driver.install_addon(extension, temporary=True)
65
assert id == "[email protected]"
66
67
pages.load("blank.html")
68
injected = WebDriverWait(driver, timeout=2).until(
69
lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")
70
)
71
assert injected.text == "Content injected by webextensions-selenium-example"
72
73
driver.uninstall_addon(id)
74
driver.refresh()
75
assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0
76
77
78
def test_install_uninstall_signed_addon_dir(driver, pages):
79
zip = os.path.join(extensions, "webextensions-selenium-example.zip")
80
81
target = os.path.join(extensions, "webextensions-selenium-example-unzip")
82
with zipfile.ZipFile(zip, "r") as zip_ref:
83
zip_ref.extractall(target)
84
85
id = driver.install_addon(target)
86
assert id == "[email protected]"
87
88
pages.load("blank.html")
89
injected = WebDriverWait(driver, timeout=2).until(
90
lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")
91
)
92
assert injected.text == "Content injected by webextensions-selenium-example"
93
94
driver.uninstall_addon(id)
95
driver.refresh()
96
assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0
97
98
99
def test_install_uninstall_unsigned_addon_dir(driver, pages):
100
zip = os.path.join(extensions, "webextensions-selenium-example-unsigned.zip")
101
target = os.path.join(extensions, "webextensions-selenium-example-unsigned-unzip")
102
with zipfile.ZipFile(zip, "r") as zip_ref:
103
zip_ref.extractall(target)
104
105
id = driver.install_addon(target, temporary=True)
106
assert id == "[email protected]"
107
108
pages.load("blank.html")
109
injected = WebDriverWait(driver, timeout=2).until(
110
lambda dr: dr.find_element(By.ID, "webextensions-selenium-example")
111
)
112
assert injected.text == "Content injected by webextensions-selenium-example"
113
114
driver.uninstall_addon(id)
115
driver.refresh()
116
assert len(driver.find_elements(By.ID, "webextensions-selenium-example")) == 0
117
118