Skip to content

Commit 9cee0ad

Browse files
committed
format
1 parent b05e9e4 commit 9cee0ad

File tree

4 files changed

+116
-1
lines changed

4 files changed

+116
-1
lines changed

modules/browser_object.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from modules.browser_object_image_context_menu import *
99
from modules.browser_object_navigation import *
1010
from modules.browser_object_panel_ui import *
11+
from modules.browser_object_reader_view import *
1112
from modules.browser_object_search_bar_context_menu import *
1213
from modules.browser_object_tab_context_menu import *
1314
from modules.browser_object_tabbar import *

modules/browser_object_reader_view.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
from selenium.webdriver import Keys
2+
13
from modules.page_base import BasePage
24

35

@@ -7,3 +9,77 @@ class ReaderView(BasePage):
79
"""
810

911
URL_TEMPLATE = ""
12+
13+
def open_reader_view_searchbar(self) -> BasePage:
14+
"""
15+
Opens the reader view using the search bar
16+
"""
17+
with self.driver.context(self.driver.CONTEXT_CHROME):
18+
self.get_element("reader-view-button").click()
19+
self.wait_for_reader_view_open()
20+
return self
21+
22+
def open_reader_view_keys(self) -> BasePage:
23+
"""
24+
Opens the reader view using keys
25+
"""
26+
if self.sys_platform() == "Darwin":
27+
self.actions.key_down(Keys.COMMAND).key_down(Keys.ALT).send_keys(
28+
"r"
29+
).key_up(Keys.ALT).key_up(Keys.COMMAND).perform()
30+
elif self.sys_platform() == "Linux":
31+
self.actions.key_down(Keys.CONTROL).key_down(Keys.ALT).send_keys(
32+
"r"
33+
).key_up(Keys.ALT).key_up(Keys.CONTROL).perform()
34+
else:
35+
self.actions.send_keys(Keys.F9).perform()
36+
self.wait_for_reader_view_open()
37+
return self
38+
39+
def close_reader_view_searchbar(self) -> BasePage:
40+
"""
41+
Closes the reader view using the search bar
42+
"""
43+
with self.driver.context(self.driver.CONTEXT_CHROME):
44+
self.get_element("reader-view-button").click()
45+
self.wait_for_reader_view_closed()
46+
return self
47+
48+
def close_reader_view_toolbar(self) -> BasePage:
49+
"""
50+
Closes the reader view using the toolbar
51+
"""
52+
self.get_element("reader-toolbar-close").click()
53+
self.wait_for_reader_view_closed()
54+
return self
55+
56+
def close_reader_view_keys(self, sys_platform: str) -> BasePage:
57+
"""
58+
Closes the reader view using keys
59+
"""
60+
if sys_platform == "Darwin":
61+
self.actions.key_down(Keys.COMMAND).key_down(Keys.ALT).send_keys(
62+
"r"
63+
).key_up(Keys.ALT).key_up(Keys.COMMAND).perform()
64+
elif sys_platform == "Linux":
65+
self.actions.key_down(Keys.CONTROL).key_down(Keys.ALT).send_keys(
66+
"r"
67+
).key_up(Keys.ALT).key_up(Keys.CONTROL).perform()
68+
else:
69+
self.actions.send_keys(Keys.F9).perform()
70+
self.wait_for_reader_view_closed()
71+
return self
72+
73+
def wait_for_reader_view_open(self) -> BasePage:
74+
"""
75+
Checks to see if the reader view toolbar is present demonstrating that the reader view is open.
76+
"""
77+
self.wait.until(lambda _: self.element_exists("reader-toolbar"))
78+
return self
79+
80+
def wait_for_reader_view_closed(self) -> BasePage:
81+
"""
82+
Checks to see if the reader view toolbar is not present, demonstrating that reader view is not open.
83+
"""
84+
self.wait.until(lambda _: self.element_does_not_exist("reader-toolbar"))
85+
return self
Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,19 @@
1-
{}
1+
{
2+
"reader-view-button": {
3+
"selectorData": "reader-mode-button",
4+
"strategy": "id",
5+
"groups": []
6+
},
7+
8+
"reader-toolbar": {
9+
"selectorData": "div[class='toolbar reader-toolbar']",
10+
"strategy": "css",
11+
"groups": []
12+
},
13+
14+
"reader-toolbar-close": {
15+
"selectorData": "button[class='close-button toolbar-button']",
16+
"strategy": "css",
17+
"groups": []
18+
}
19+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
from selenium.webdriver import Firefox
2+
3+
from modules.browser_object import ReaderView
4+
from modules.page_object import GenericPage
5+
6+
READER_VIEW_URL = (
7+
"https://support.mozilla.org/en-US/kb/firefox-reader-view-clutter-free-web-pages"
8+
)
9+
10+
11+
def test_reader_view_close_from_sidebar(driver: Firefox):
12+
"""
13+
C130912: Ensures that the reader view can be closed from the sidebar toolbar.
14+
"""
15+
wiki_page = GenericPage(driver, url=READER_VIEW_URL)
16+
reader_view = ReaderView(driver)
17+
18+
wiki_page.open()
19+
reader_view.open_reader_view_searchbar()
20+
reader_view.close_reader_view_toolbar()

0 commit comments

Comments
 (0)