@@ -25,10 +25,14 @@ def __init__(
2525 self ,
2626 baseurl : t .Optional [str ] = None ,
2727 use_panel_events : bool = True ,
28+ window_size : t .Optional [tuple [int , int ]] = None ,
29+ zoom_factor : float = 1.0 ,
2830 dry_run : bool = False ,
2931 ):
3032 self .baseurl = baseurl
3133 self .use_panel_events = use_panel_events
34+ self .window_size = window_size
35+ self .zoom_factor = zoom_factor
3236 self .dry_run = dry_run
3337 log .info ("Starting GrafanaWrapper on %s" , baseurl )
3438 FirefoxMarionetteBase .__init__ (self )
@@ -38,12 +42,17 @@ def boot_grafana(self):
3842 Navigate to Grafana application and inject Grafana Sidecar service.
3943 """
4044 log .info ("Starting Grafana at %s" , self .baseurl )
41- self .set_window_size (1920 , 1080 )
42-
45+ if self .window_size :
46+ self .set_window_size (
47+ int (self .window_size [0 ]),
48+ int (self .window_size [1 ] + (85 * self .zoom_factor )),
49+ )
4350 self .navigate (self .baseurl )
4451
4552 rect = self .get_window_rect ()
46- self .marionette .set_window_rect (height = rect ["height" ], width = rect ["width" ])
53+ self .marionette .set_window_rect (
54+ height = int (rect ["height" ]), width = int (rect ["width" ])
55+ )
4756
4857 def navigate (self , url ):
4958 # Navigate to resource URL.
@@ -52,6 +61,10 @@ def navigate(self, url):
5261 # Wait for Grafana application to load.
5362 self .wait_for_grafana ()
5463
64+ # Apply zoom factor to page.
65+ if self .zoom_factor :
66+ self .marionette .set_pref ("layout.css.devPixelsPerPx" , str (self .zoom_factor ))
67+
5568 # Load Javascript for GrafanaStudio sidecar service.
5669 jsfiles = ["grafana-util.js" , "grafana-studio.js" ]
5770 for jsfile in jsfiles :
0 commit comments