【发布时间】:2014-07-08 18:49:51
【问题描述】:
我要使用的弹出窗口类型在这里 http://demos.telerik.com/aspnet-ajax/window/examples/radopen/defaultcs.aspx
我正在尝试启动弹出窗口。并在弹窗中输入文字
我有这个页面对象试图处理弹出窗口
var popUp = function() {
browser.getAllWindowHandles().then(function(handles)
{
this.originalWindow = handles[0];
this.newWindow = handles[1];
})
this.switchToPopUp = function() {
browser.switchTo().window(this.newWindow);
}
this.switchToOriginal = function() {
browser.switchTo().window(this.originalWindow);
}
}
module.exports = new popUp();
在我的测试中,我有这些行
openRadWindow.click();
popUp.switchToPopUp();
browser.element(by.id('ctl00_SearchTextBox').sendKeys("Automation Test List");
我在跟踪中看到的错误是 WebDriver.switchTo().window(undefined)
【问题讨论】:
-
如果您的应用程序使用 Telerik
RadWindow对象类型,这不是一个新的浏览器窗口。它只是一个标准的 HTML 元素,其样式看起来像一个浏览器窗口。使用findElement(),而不是switchTo().window()。 -
谢谢吉姆。我一直在阅读有关 findElement() 与 elementfinder 的内容,有点困惑。我最初尝试使用 elementfinder 获取元素但不能,所以我继续认为我需要检测一个窗口。不过感谢您的帮助!我会在一分钟内试试这个
标签: javascript selenium-webdriver webdriver protractor