aboutsummaryrefslogtreecommitdiff
path: root/node_modules/selenium-webdriver/test/window_test.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/selenium-webdriver/test/window_test.js')
-rw-r--r--node_modules/selenium-webdriver/test/window_test.js154
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);
+ });
});
}