1
+ from selenium .webdriver import Keys
2
+
1
3
from modules .page_base import BasePage
2
4
3
5
@@ -7,3 +9,77 @@ class ReaderView(BasePage):
7
9
"""
8
10
9
11
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
0 commit comments