量角器切换到previous标签 [英] protractor switch to previous tab
本文介绍了量角器切换到previous标签的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
打开一个新标签(二)我试图切换到第一个标签。之后
common.clickOpenNewSession(); //它会打开新标签 browser.getAllWindowHandles()。然后(函数(句柄){
变种secondWindowHandle =把手[1];
变种firstWindowHandle =把手[0];
browser.switchTo()。窗口(secondWindowHandle)。然后(函数(){//新的选项卡上的焦点移动
browser.sleep(3000);
期待(browser.driver.getCurrentUrl())toContain(URL)。
//做一些动作 });
//下面这是行不通的。我试着回去previous选项卡上,无需关闭第二个标签
。browser.actions()的SendKeys(protractor.Key.CONTROL).sendKeys(protractor.Key.TAB).perform();
browser.sleep(4000);
。browser.driver.switchTo()窗口(firstWindowHandle);
browser.setLocation('http://google.com');
});
解决方案
的问题是,你试图通过使用CTRL + TAB,而不是使用窗口句柄切换回转到previous标签。这是不支持的webdriver,因为使用CTRL + TAB是一个系统的操作,并且不能在浏览器上的所有OS /浏览器效仿。只需使用 browser.switchTo()
试。
After opening a new tab (second) I'm trying to switch to the first tab.
common.clickOpenNewSession(); //it opens the new tab
browser.getAllWindowHandles().then(function (handles) {
var secondWindowHandle = handles[1];
var firstWindowHandle = handles[0];
browser.switchTo().window(secondWindowHandle).then(function () { //the focus moves on new tab
browser.sleep(3000);
expect(browser.driver.getCurrentUrl()).toContain("url");
//do some actions
});
//below it doesn't work. I try to go back on previous tab without closing the second tab
browser.actions().sendKeys(protractor.Key.CONTROL).sendKeys(protractor.Key.TAB).perform();
browser.sleep(4000);
browser.driver.switchTo().window(firstWindowHandle);
browser.setLocation('http://google.com');
});
解决方案
The problem is that you're trying to go to the previous tab by using ctrl + tab, instead of using the window handles to switch back. This is not supported in WebDriver, because using ctrl + tab is a system operation, and can't be emulated on your browser for all OS/browsers. Just use browser.switchTo()
again.
这篇关于量角器切换到previous标签的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文