From ba6760de377bfd703699506a30f6660f244f39a8 Mon Sep 17 00:00:00 2001 From: Miki Tebeka Date: Tue, 4 Feb 2014 18:31:45 -0800 Subject: [PATCH] MaximizeWindow --HG-- branch : dev --- remote.go | 18 +++++++++++++++++- remote_test.go | 12 ++++++++++++ selenium.go | 3 +++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/remote.go b/remote.go index d505d1d..a0dbd82 100644 --- a/remote.go +++ b/remote.go @@ -559,11 +559,27 @@ func (wd *remoteWD) SwitchWindow(name string) error { if err != nil { return err } + return wd.voidCommand("/session/%s/window", data) } func (wd *remoteWD) CloseWindow(name string) error { - _, err := wd.execute("DELETE", "/session/%s/window", nil) + url := wd.requestURL("/session/%s/window", wd.id) + _, err := wd.execute("DELETE", url, nil) + return err +} + +func (wd *remoteWD) MaximizeWindow(name string) error { + var err error + if len(name) == 0 { + name, err = wd.CurrentWindowHandle() + if err != nil { + return err + } + } + + url := wd.requestURL("/session/%s/window/%s/maximize", wd.id, name) + _, err = wd.execute("POST", url, nil) return err } diff --git a/remote_test.go b/remote_test.go index b6c7dec..923ca3f 100644 --- a/remote_test.go +++ b/remote_test.go @@ -616,6 +616,18 @@ func TestSessionId(t *testing.T) { } } +func TestMaximizeWindow(t *testing.T) { + wd := newRemote("TestMaximizeWindow", t) + defer wd.Quit() + + wd.Get(serverURL) + + err := wd.MaximizeWindow("") + if err != nil { + t.Fatalf("error maximizing window: %s", err) + } +} + // Test server var homePage = ` diff --git a/selenium.go b/selenium.go index 56a7745..6e3d667 100644 --- a/selenium.go +++ b/selenium.go @@ -189,6 +189,8 @@ type WebDriver interface { SwitchWindow(name string) error /* Close window. */ CloseWindow(name string) error + /* Maximize window, if name is empty - will use current */ + MaximizeWindow(name string) error // Navigation /* Open url. */ @@ -241,6 +243,7 @@ type WebDriver interface { modifier can be one of ShiftKey, ControlKey, AltKey, MetaKey. */ SendModifier(modifier string, isDown bool) error + /* Take a screenshot */ Screenshot() ([]byte, error) // Alerts