diff options
Diffstat (limited to 'node_modules/selenium-webdriver/test/window_test.js')
-rw-r--r-- | node_modules/selenium-webdriver/test/window_test.js | 154 |
1 files changed, 70 insertions, 84 deletions
diff --git a/node_modules/selenium-webdriver/test/window_test.js b/node_modules/selenium-webdriver/test/window_test.js index 6213d19ac..73cdd802d 100644 --- a/node_modules/selenium-webdriver/test/window_test.js +++ b/node_modules/selenium-webdriver/test/window_test.js @@ -26,113 +26,99 @@ var Browser = require('..').Browser, test.suite(function(env) { var driver; - test.before(function() { driver = env.builder().build(); }); - test.after(function() { driver.quit(); }); + test.before(function*() { driver = yield env.builder().build(); }); + test.after(function() { return driver.quit(); }); test.beforeEach(function() { - driver.switchTo().defaultContent(); + return driver.switchTo().defaultContent(); }); - test.it('can set size of the current window', function() { - driver.get(test.Pages.echoPage); - changeSizeBy(-20, -20); + test.it('can set size of the current window', function*() { + yield driver.get(test.Pages.echoPage); + yield changeSizeBy(-20, -20); }); - test.it('can set size of the current window from frame', function() { - driver.get(test.Pages.framesetPage); + test.it('can set size of the current window from frame', function*() { + yield driver.get(test.Pages.framesetPage); - var frame = driver.findElement({css: 'frame[name="fourth"]'}); - driver.switchTo().frame(frame); - changeSizeBy(-20, -20); + var frame = yield driver.findElement({css: 'frame[name="fourth"]'}); + yield driver.switchTo().frame(frame); + yield changeSizeBy(-20, -20); }); - test.it('can set size of the current window from iframe', function() { - driver.get(test.Pages.iframePage); + test.it('can set size of the current window from iframe', function*() { + yield driver.get(test.Pages.iframePage); - var frame = driver.findElement({css: 'iframe[name="iframe1-name"]'}); - driver.switchTo().frame(frame); - changeSizeBy(-20, -20); + var frame = yield driver.findElement({css: 'iframe[name="iframe1-name"]'}); + yield driver.switchTo().frame(frame); + yield changeSizeBy(-20, -20); }); - test.it('can switch to a new window', function() { - driver.get(test.Pages.xhtmlTestPage); + test.it('can switch to a new window', function*() { + yield driver.get(test.Pages.xhtmlTestPage); - driver.getWindowHandle().then(function(handle) { - driver.getAllWindowHandles().then(function(originalHandles) { - driver.findElement(By.linkText("Open new window")).click(); + let handle = yield driver.getWindowHandle(); + let originalHandles = yield driver.getAllWindowHandles(); - driver.wait(forNewWindowToBeOpened(originalHandles), 2000); + yield driver.findElement(By.linkText("Open new window")).click(); + yield driver.wait(forNewWindowToBeOpened(originalHandles), 2000); + yield assert(driver.getTitle()).equalTo("XHTML Test Page"); - assert(driver.getTitle()).equalTo("XHTML Test Page"); + let newHandle = yield getNewWindowHandle(originalHandles); - getNewWindowHandle(originalHandles).then(function(newHandle) { - driver.switchTo().window(newHandle); - - assert(driver.getTitle()).equalTo("We Arrive Here") - }); - }); - }); + yield driver.switchTo().window(newHandle); + yield assert(driver.getTitle()).equalTo("We Arrive Here"); }); - // See https://github.com/mozilla/geckodriver/issues/113 - test.ignore(env.browsers(Browser.FIREFOX)). - it('can set the window position of the current window', function() { - driver.manage().window().getPosition().then(function(position) { - driver.manage().window().setSize(640, 480); - driver.manage().window().setPosition(position.x + 10, position.y + 10); - - // For phantomjs, setPosition is a no-op and the "window" stays at (0, 0) - if (env.currentBrowser() === Browser.PHANTOM_JS) { - driver.manage().window().getPosition().then(function(position) { - assert(position.x).equalTo(0); - assert(position.y).equalTo(0); - }); - } else { - var dx = position.x + 10; - var dy = position.y + 10; - // On OSX, Safari position's the window relative to below the menubar - // at the top of the screen, which is 23 pixels tall. - if (env.currentBrowser() === Browser.SAFARI && - process.platform === 'darwin') { - dy += 23; - } - } - }); + test.it('can set the window position of the current window', function*() { + let position = yield driver.manage().window().getPosition(); + + yield driver.manage().window().setSize(640, 480); + yield driver.manage().window().setPosition(position.x + 10, position.y + 10); + + // For phantomjs, setPosition is a no-op and the "window" stays at (0, 0) + if (env.currentBrowser() === Browser.PHANTOM_JS) { + position = yield driver.manage().window().getPosition(); + assert(position.x).equalTo(0); + assert(position.y).equalTo(0); + } else { + var dx = position.x + 10; + var dy = position.y + 10; + return driver.wait(forPositionToBe(dx, dy), 1000); + } }); - // See https://github.com/mozilla/geckodriver/issues/113 - test.ignore(env.browsers(Browser.FIREFOX)). - it('can set the window position from a frame', function() { - driver.get(test.Pages.iframePage); - driver.switchTo().frame('iframe1-name'); - driver.manage().window().getPosition().then(function(position) { - driver.manage().window().setSize(640, 480); - driver.manage().window().setPosition(position.x + 10, position.y + 10); - - // For phantomjs, setPosition is a no-op and the "window" stays at (0, 0) - if (env.currentBrowser() === Browser.PHANTOM_JS) { - driver.manage().window().getPosition().then(function(position) { - assert(position.x).equalTo(0); - assert(position.y).equalTo(0); - }); - } else { - var dx = position.x + 10; - var dy = position.y + 10; - // On OSX, Safari position's the window relative to below the menubar - // at the top of the screen, which is 23 pixels tall. - if (env.currentBrowser() === Browser.SAFARI && - process.platform === 'darwin') { - dy += 23; - } - driver.wait(forPositionToBe(dx, dy), 1000); - } - }); + test.it('can set the window position from a frame', function*() { + yield driver.get(test.Pages.iframePage); + + let frame = yield driver.findElement(By.name('iframe1-name')); + yield driver.switchTo().frame(frame); + + let position = yield driver.manage().window().getPosition(); + yield driver.manage().window().setSize(640, 480); + yield driver.manage().window().setPosition(position.x + 10, position.y + 10); + + // For phantomjs, setPosition is a no-op and the "window" stays at (0, 0) + if (env.currentBrowser() === Browser.PHANTOM_JS) { + return driver.manage().window().getPosition().then(function(position) { + assert(position.x).equalTo(0); + assert(position.y).equalTo(0); + }); + } else { + var dx = position.x + 10; + var dy = position.y + 10; + return driver.wait(forPositionToBe(dx, dy), 1000); + } }); function changeSizeBy(dx, dy) { - driver.manage().window().getSize().then(function(size) { - driver.manage().window().setSize(size.width + dx, size.height + dy); - driver.wait(forSizeToBe(size.width + dx, size.height + dy), 1000); + return driver.manage().window().getSize().then(function(size) { + return driver.manage().window() + .setSize(size.width + dx, size.height + dy) + .then(_ => { + return driver.wait( + forSizeToBe(size.width + dx, size.height + dy), 1000); + }); }); } |