aboutsummaryrefslogtreecommitdiff
path: root/test/unit/test_basic.py
diff options
context:
space:
mode:
authorWojtek Kosior <koszko@koszko.org>2021-12-13 17:58:29 +0100
committerWojtek Kosior <koszko@koszko.org>2021-12-13 17:58:29 +0100
commitc699b6409e98fe64a70417a18b6e335b4c60f86d (patch)
treed01108437eaaa89fb167b35a7e4439e69b5d38d2 /test/unit/test_basic.py
parent4c933941e64ba2b4b5da3c19e5ed5924a30e0752 (diff)
downloadbrowser-extension-c699b6409e98fe64a70417a18b6e335b4c60f86d.tar.gz
browser-extension-c699b6409e98fe64a70417a18b6e335b4c60f86d.zip
facilitate creating and installing WebExtensions during tests
It is now possible to more conveniently test WebExtension APIs code by wrapping it into a test WebExtension and temporarily installing in the driven browser.
Diffstat (limited to 'test/unit/test_basic.py')
-rw-r--r--test/unit/test_basic.py17
1 files changed, 15 insertions, 2 deletions
diff --git a/test/unit/test_basic.py b/test/unit/test_basic.py
index cbe5c8c..3b09cb6 100644
--- a/test/unit/test_basic.py
+++ b/test/unit/test_basic.py
@@ -26,8 +26,9 @@ def test_driver(driver):
"""
for proto in ['http://', 'https://']:
driver.get(proto + 'gotmyowndoma.in')
- element = driver.find_element_by_tag_name('title')
- title = driver.execute_script('return arguments[0].innerText;', element)
+ title = driver.execute_script(
+ 'return document.getElementsByTagName("title")[0].innerText;'
+ )
assert "Schrodinger's Document" in title
def test_script_loader(execute_in_page, load_into_page):
@@ -39,3 +40,15 @@ def test_script_loader(execute_in_page, load_into_page):
page='https://gotmyowndoma.in')
assert execute_in_page('returnval(TYPE_PREFIX.VAR);') == '_'
+
+@pytest.mark.ext_data({})
+def test_webextension(driver, webextension):
+ """
+ A trivial test case that verifies a test WebExtension created and installed
+ by the `webextension` fixture works and redirects specially-constructed URLs
+ to its test page.
+ """
+ heading = driver.execute_script(
+ 'return document.getElementsByTagName("h1")[0].innerText;'
+ )
+ assert "Extension's options page for testing" in heading