1
+ from selenium .webdriver import Keys
2
+
1
3
from modules .page_base import BasePage
2
4
3
5
@@ -7,3 +9,71 @@ 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
+ before_page_source = self .driver .page_source
18
+ with self .driver .context (self .driver .CONTEXT_CHROME ):
19
+ self .get_element ("reader-view-button" ).click ()
20
+ self .wait .until (lambda _ : self .driver .page_source != before_page_source )
21
+ self .wait_for_reader_view_open ()
22
+ return self
23
+
24
+ def open_reader_view_keys (self ) -> BasePage :
25
+ """
26
+ Opens the reader view using keys
27
+ """
28
+ before_page_source = self .driver .page_source
29
+ with self .driver .context (self .driver .CONTEXT_CHROME ):
30
+ if self .sys_platform () == "Darwin" :
31
+ self .perform_key_combo (Keys .COMMAND , Keys .ALT , "r" )
32
+ elif self .sys_platform () == "Linux" :
33
+ self .perform_key_combo (Keys .CONTROL , Keys .ALT , "r" )
34
+ else :
35
+ self .perform_key_combo (Keys .F9 )
36
+ self .wait .until (lambda _ : self .driver .page_source != before_page_source )
37
+ self .wait_for_reader_view_open ()
38
+ return self
39
+
40
+ def close_reader_view_searchbar (self ) -> BasePage :
41
+ """
42
+ Closes the reader view using the search bar
43
+ """
44
+ before_page_source = self .driver .page_source
45
+ with self .driver .context (self .driver .CONTEXT_CHROME ):
46
+ self .get_element ("reader-view-button" ).click ()
47
+ self .wait .until (lambda _ : self .driver .page_source != before_page_source )
48
+ self .wait_for_reader_view_closed ()
49
+ return self
50
+
51
+ def close_reader_view_keys (self ) -> BasePage :
52
+ """
53
+ Closes the reader view using keys
54
+ """
55
+ before_page_source = self .driver .page_source
56
+ with self .driver .context (self .driver .CONTEXT_CHROME ):
57
+ if self .sys_platform () == "Darwin" :
58
+ self .perform_key_combo (Keys .COMMAND , Keys .ALT , "r" )
59
+ elif self .sys_platform () == "Linux" :
60
+ self .perform_key_combo (Keys .CONTROL , Keys .ALT , "r" )
61
+ else :
62
+ self .perform_key_combo (Keys .F9 )
63
+ self .wait .until (lambda _ : self .driver .page_source != before_page_source )
64
+ self .wait_for_reader_view_closed ()
65
+ return self
66
+
67
+ def wait_for_reader_view_open (self ) -> BasePage :
68
+ """
69
+ Checks to see if the reader view toolbar is present demonstrating that the reader view is open.
70
+ """
71
+ self .element_exists ("reader-toolbar" )
72
+ return self
73
+
74
+ def wait_for_reader_view_closed (self ) -> BasePage :
75
+ """
76
+ Checks to see if the reader view toolbar is not present, demonstrating that reader view is not open.
77
+ """
78
+ self .element_does_not_exist ("reader-toolbar" )
79
+ return self
0 commit comments