blob: 24318f133a01ba67364c8faac9ebeb4792869b3e [file] [log] [blame]
// Copyright 2011 Software Freedom Conservancy. All Rights Reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
goog.provide('webdriver.test_e2e.TestUtil');
webdriver.test_e2e.TestUtil = (function() {
var MAIN_WINDOW_NAME = 'main_window';
var TEST_WINDOW_NAME = 'test_window';
var testWindow;
window.name = MAIN_WINDOW_NAME;
return {
/**
* Opens a new test window. Does not check if the window opened
* successfully.
* @param {string=} opt_url The URL to open in the window.
* @param {number=} opt_left The initial position in pixels from the left
* side of the screen.
* @param {number=} opt_top The initial position in pixels from the top of
* the
* screen.
* @param {number=} opt_width The initial width of the window.
* @param {number=} opt_height The initial height of the window.
*/
openTestWindow: function(opt_url, opt_left, opt_top,
opt_width, opt_height) {
var options = [], labels = ['left', 'top', 'width', 'height'];
for (var i = 1; i < 5; ++i) {
if (goog.isNumber(arguments[i])) {
options.push(labels[i - 1] + '=' + arguments[i]);
}
}
testWindow = window.open(opt_url || '', TEST_WINDOW_NAME,
options.join(','));
},
/** Closes the test window. */
closeTestWindow: function() {
if (testWindow && !testWindow.closed && testWindow.close) {
testWindow.close();
delete testWindow;
}
},
/**
* Switches to the main window (the window running this script).
* @param {!webdriver.WebDriver} driver The driver to switch with.
*/
switchToMainWindow: function(driver) {
driver.switchTo().window(MAIN_WINDOW_NAME);
},
/**
* Switches to the opened test window.
* @param {!webdriver.WebDriver} driver The driver to switch with.
*/
switchToTestWindow: function(driver) {
if (!testWindow || testWindow.closed) {
throw new Error('The test window is not open. Is the pop-up blocker enabled?');
}
driver.switchTo().window(TEST_WINDOW_NAME);
}
};
})();