【问题标题】:Howto get new opened tab URL with protractor如何使用量角器获取新打开的标签 URL
【发布时间】:2015-12-19 13:02:00
【问题描述】:

您好,我正在尝试从单击链接后打开的新选项卡中获取 url,并检查是否获得了预期值。我不知道该怎么做,因为我在 chrome 执行时收到此错误:

Failed: null value in entry: name=null

在 Firefox 中测试通过了,但有趣的是它在新窗口而不是新选项卡中打开了 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;
    });

});

【问题讨论】:

  • 您看到控制台上打印了handles 吗?你看到了几个?谢谢。
  • chrome: ['CDwindow-8CDF6C53-A409-41E3-B43A-AB2B52525FF9'] 火狐:['{bee5199c-4f36-475f-ad40-d5fb304b2920}', '{095648c4-f048-4d22- ae4b-87af1a48df1a}' ] 为什么有不同的类型?

标签: javascript angularjs google-chrome automated-tests protractor


【解决方案1】:

您可以做的是在 新的浏览器窗口中打开链接,方法是按住 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();

这对我之前的类似情况有所帮助。

【讨论】:

  • 嗨,它几乎可以工作了。问题是它仍然获得第一个窗口 url 值。还是谢谢。
  • @Termosfera 好的,但是您现在看到 Chrome 中打印了 2 个句柄吗?
猜你喜欢
  • 2014-11-23
  • 1970-01-01
  • 2012-10-29
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 2015-01-15
  • 2012-10-09
相关资源
最近更新 更多