11import random
2- from selenium_ui .conftest import print_timing , measure_timing , measure_browser_navi_metrics , measure_dom_requests , measure_with_browser_metrics
2+ from selenium_ui .conftest import print_timing , measure_timing , measure_dom_requests , measure_with_browser_metrics
33
44from selenium_ui .confluence .pages .pages import Login , AllUpdates , PopupManager , Page , Dashboard , TopNavPanel , Editor , \
55 Logout
@@ -57,45 +57,45 @@ def login(webdriver, datasets):
5757 login_page = Login (webdriver )
5858 webdriver .debug_info = generate_debug_session_info (webdriver , datasets )
5959
60- @print_timing ("selenium_login" )
61- def measure ():
6260
63- def sub_measure ():
61+ def measure ():
62+ login_page .go_to ()
63+ if login_page .is_logged_in ():
64+ login_page .delete_all_cookies ()
6465 login_page .go_to ()
65- if login_page .is_logged_in ():
66- login_page .delete_all_cookies ()
67- login_page .go_to ()
68- login_page .wait_for_page_loaded ()
69- node_id = login_page .get_node_id ()
70- node_ip = rest_client .get_node_ip (node_id )
71- webdriver .node_ip = node_ip
72- print (f"node_id:{ node_id } , node_ip: { webdriver .node_ip } " )
73- measure_dom_requests (webdriver , interaction = "selenium_login:open_login_page" )
74-
75- sub_measure ()
66+ login_page .wait_for_page_loaded ()
67+ node_id = login_page .get_node_id ()
68+ node_ip = rest_client .get_node_ip (node_id )
69+ webdriver .node_ip = node_ip
70+ print (f"node_id:{ node_id } , node_ip: { webdriver .node_ip } " )
71+ measure_dom_requests (webdriver , interaction = "selenium_login:open_login_page" )
7672
7773 login_page .set_credentials (username = datasets ['current_session' ]['username' ],
7874 password = datasets ['current_session' ]['password' ])
7975
80- def sub_measure ():
81- login_page .click_login_button ()
82- all_updates_page = AllUpdates (webdriver )
83- all_updates_page .wait_for_page_loaded ()
84- if login_page .is_first_login ():
85- login_page .first_user_setup ()
86- all_updates_page .wait_for_page_loaded ()
87- measure_dom_requests (webdriver , interaction = "selenium_login:login_and_view_dashboard" )
88- if CONFLUENCE_SETTINGS .extended_metrics :
89- measure_browser_navi_metrics (webdriver , datasets , expected_metrics = browser_metrics ['selenium_login' ])
76+ login_page .click_login_button ()
77+ all_updates_page = AllUpdates (webdriver )
78+ all_updates_page .wait_for_page_loaded ()
79+ if login_page .is_first_login ():
80+ login_page .first_user_setup ()
81+ all_updates_page .wait_for_page_loaded ()
82+ measure_dom_requests (webdriver , interaction = "selenium_login:login_and_view_dashboard" )
9083
91- sub_measure ()
84+
85+ def post_metric_measure ():
9286 current_session_response = login_page .rest_api_get (url = f'{ CONFLUENCE_SETTINGS .server_url } '
9387 f'/rest/api/user/current' )
9488 if 'username' in current_session_response :
9589 actual_username = current_session_response ['username' ]
9690 assert actual_username == datasets ['current_session' ]['username' ]
9791
98- measure ()
92+ measure_with_browser_metrics (
93+ "selenium_login" ,
94+ webdriver ,
95+ datasets ,
96+ measure ,
97+ post_metric_measure
98+ )
9999 PopupManager (webdriver ).dismiss_default_popup ()
100100
101101
@@ -179,34 +179,33 @@ def create_confluence_page(webdriver, datasets):
179179 nav_panel = TopNavPanel (webdriver )
180180 create_page = Editor (webdriver )
181181
182- @print_timing ("selenium_create_page" )
183182 def measure ():
184- def sub_measure ():
185- PopupManager (webdriver ).dismiss_default_popup ()
186- nav_panel .click_create ()
187- PopupManager (webdriver ).dismiss_default_popup ()
188- create_page .wait_for_create_page_open ()
189- measure_dom_requests (webdriver , interaction = "selenium_create_page:open_create_page_editor" )
190- if CONFLUENCE_SETTINGS .extended_metrics :
191- measure_browser_navi_metrics (webdriver , datasets ,
192- expected_metrics = browser_metrics ['selenium_create_page' ])
183+ PopupManager (webdriver ).dismiss_default_popup ()
184+ nav_panel .click_create ()
185+ PopupManager (webdriver ).dismiss_default_popup ()
186+ create_page .wait_for_create_page_open ()
187+ measure_dom_requests (webdriver , interaction = "selenium_create_page:open_create_page_editor" )
193188
194- sub_measure ()
195189
190+ def post_metric_measure ():
196191 PopupManager (webdriver ).dismiss_default_popup ()
197192
198193 create_page .write_title ()
199194 create_page .write_content ()
200195
201- def sub_measure ():
202- create_page .click_submit ()
203- page = Page (webdriver )
204- page .wait_for_page_loaded ()
205- measure_dom_requests (webdriver , interaction = "selenium_create_page:save_created_page" )
196+ create_page .click_submit ()
197+ page = Page (webdriver )
198+ page .wait_for_page_loaded ()
199+ measure_dom_requests (webdriver , interaction = "selenium_create_page:save_created_page" )
206200
207- sub_measure ()
208201
209- measure ()
202+ measure_with_browser_metrics (
203+ "selenium_create_page" ,
204+ webdriver ,
205+ datasets ,
206+ measure ,
207+ post_metric_measure
208+ )
210209
211210
212211def edit_confluence_page_by_url (webdriver , datasets ):
@@ -216,29 +215,26 @@ def edit_confluence_page_by_url(webdriver, datasets):
216215 datasets ['current_session' ]['edit_page' ] = random_page
217216 edit_page = Editor (webdriver , page_id = page_id )
218217
219- @print_timing ("selenium_edit_page_by_url" )
220218 def measure ():
221- def sub_measure ():
222- edit_page .go_to ()
223- edit_page .wait_for_page_loaded ()
224- measure_dom_requests (webdriver , interaction = f"selenium_edit_page_by_url:open_create_page_editor" ,
225- description = page_description )
226- if CONFLUENCE_SETTINGS .extended_metrics :
227- measure_browser_navi_metrics (webdriver , datasets ,
228- expected_metrics = browser_metrics ['selenium_edit_page_by_url' ])
229-
230- sub_measure ()
219+ edit_page .go_to ()
220+ edit_page .wait_for_page_loaded ()
221+ measure_dom_requests (webdriver , interaction = f"selenium_edit_page_by_url:open_create_page_editor" ,
222+ description = page_description )
231223
224+ def post_metric_measure ():
232225 edit_page .write_content ()
233226
234- def sub_measure ():
235- edit_page .save_edited_page ()
236- measure_dom_requests (webdriver , interaction = f"selenium_edit_page_by_url:save_edited_page" ,
237- description = page_description )
227+ edit_page .save_edited_page ()
228+ measure_dom_requests (webdriver , interaction = f"selenium_edit_page_by_url:save_edited_page" ,
229+ description = page_description )
238230
239- sub_measure ()
240-
241- measure ()
231+ measure_with_browser_metrics (
232+ "selenium_edit_page_by_url" ,
233+ webdriver ,
234+ datasets ,
235+ measure ,
236+ post_metric_measure
237+ )
242238
243239
244240def edit_confluence_page_quick_edit (webdriver , datasets ):
@@ -250,32 +246,29 @@ def edit_confluence_page_quick_edit(webdriver, datasets):
250246
251247 @print_timing ("selenium_quick_edit_page_click" )
252248 def measure ():
253- def sub_measure ():
254- page .go_to ()
255- page .wait_for_resources_loaded ()
256- page .wait_for_page_loaded ()
257- PopupManager (webdriver ).dismiss_default_popup ()
258- page .click_edit ()
259- edit_page .wait_for_page_loaded ()
260- measure_dom_requests (webdriver , interaction = f"selenium_quick_edit_page_click:open_create_page_editor" ,
261- description = page_description )
262- if CONFLUENCE_SETTINGS .extended_metrics :
263- measure_browser_navi_metrics (webdriver , datasets ,
264- expected_metrics = browser_metrics ['selenium_quick_edit_page_click' ])
265-
266- sub_measure ()
249+ page .go_to ()
250+ page .wait_for_resources_loaded ()
251+ page .wait_for_page_loaded ()
252+ PopupManager (webdriver ).dismiss_default_popup ()
253+ page .click_edit ()
254+ edit_page .wait_for_page_loaded ()
255+ measure_dom_requests (webdriver , interaction = f"selenium_quick_edit_page_click:open_create_page_editor" ,
256+ description = page_description )
267257
258+ def post_metric_measure ():
268259 edit_page .write_content ()
269260
270- def sub_measure ():
271- edit_page .save_edited_page ()
272- measure_dom_requests (webdriver , interaction = f"selenium_quick_edit_page_click:save_edited_page" ,
273- description = page_description )
274-
275- sub_measure ()
276-
277- measure ()
261+ edit_page .save_edited_page ()
262+ measure_dom_requests (webdriver , interaction = f"selenium_quick_edit_page_click:save_edited_page" ,
263+ description = page_description )
278264
265+ measure_with_browser_metrics (
266+ "selenium_quick_edit_page_click" ,
267+ webdriver ,
268+ datasets ,
269+ measure ,
270+ post_metric_measure
271+ )
279272
280273def create_inline_comment (webdriver , datasets ):
281274 page = random .choice (datasets [PAGES ])
0 commit comments