如何使用量角器获取新打开的选项卡 URL
Howto get new opened tab URL with protractor
您好,我正在尝试从单击 link 后打开的新选项卡中获取 url,并检查我是否获得预期值。我不知道该怎么做,因为我在 chrome 执行时遇到此错误:
Failed: null value in entry: name=null
在 Firefox 中测试通过,但有趣的是它在新 window 而不是新选项卡中打开 target=_blank...
这是我的代码:
var scrollBar = require("./lib/scroll_bar");
describe("WAM home blog tests", function() {
var URL = 'http://dev.wam.com.es';
beforeEach(function() {
browser.driver.manage().window().maximize();
browser.get(URL);
});
it("Should find blog section after scrolling", function() {
scrollBar.doScroll(0, 1800);
expect( $("#blog-panel").isPresent() ).toBe(true);
});
it("Should redirect to blog after click on link", function() {
var EC = protractor.ExpectedConditions;
scrollBar.doScroll(0, 1800);
element.all( by.css('div.blog-post > a') ).first().click();
browser.ignoreSynchronization = true;
browser.getAllWindowHandles().then(function (handles) {
console.log(handles);
browser.switchTo().window(handles[1]);
var header = element(by.id("header"));
browser.wait(EC.visibilityOf(header), 15000);
expect(browser.driver.getCurrentUrl())
.toMatch(/^http:\/\/blog.wam.tv\/.*/);
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});
});
afterEach(function() {
browser.ignoreSynchronization = false;
});
});
您可以做的是在 新浏览器 window 中打开 link,方法是按住 SHIFT 并单击:
var elm = element.all( by.css('div.blog-post > a') ).first();
browser.actions().mouseMove(elm).keyDown(protractor.Key.SHIFT).click().keyUp(protractor.Key.SHIFT).perform();
这对我以前遇到类似情况很有帮助。
您好,我正在尝试从单击 link 后打开的新选项卡中获取 url,并检查我是否获得预期值。我不知道该怎么做,因为我在 chrome 执行时遇到此错误:
Failed: null value in entry: name=null
在 Firefox 中测试通过,但有趣的是它在新 window 而不是新选项卡中打开 target=_blank...
这是我的代码:
var scrollBar = require("./lib/scroll_bar");
describe("WAM home blog tests", function() {
var URL = 'http://dev.wam.com.es';
beforeEach(function() {
browser.driver.manage().window().maximize();
browser.get(URL);
});
it("Should find blog section after scrolling", function() {
scrollBar.doScroll(0, 1800);
expect( $("#blog-panel").isPresent() ).toBe(true);
});
it("Should redirect to blog after click on link", function() {
var EC = protractor.ExpectedConditions;
scrollBar.doScroll(0, 1800);
element.all( by.css('div.blog-post > a') ).first().click();
browser.ignoreSynchronization = true;
browser.getAllWindowHandles().then(function (handles) {
console.log(handles);
browser.switchTo().window(handles[1]);
var header = element(by.id("header"));
browser.wait(EC.visibilityOf(header), 15000);
expect(browser.driver.getCurrentUrl())
.toMatch(/^http:\/\/blog.wam.tv\/.*/);
browser.driver.close();
browser.driver.switchTo().window(handles[0]);
});
});
afterEach(function() {
browser.ignoreSynchronization = false;
});
});
您可以做的是在 新浏览器 window 中打开 link,方法是按住 SHIFT 并单击:
var elm = element.all( by.css('div.blog-post > a') ).first();
browser.actions().mouseMove(elm).keyDown(protractor.Key.SHIFT).click().keyUp(protractor.Key.SHIFT).perform();
这对我以前遇到类似情况很有帮助。