Protractor Button Click and open page in new tab

后端 未结 5 802
我在风中等你
我在风中等你 2021-02-08 02:21

I am fairly new to Protractor. I am trying to automate a scenario where I click on a button and its opens up a page in new tab and then we need to populate form in new page and

5条回答
  •  闹比i
    闹比i (楼主)
    2021-02-08 02:45

    This is the solution that worked for me, but i've added a browser.sleep(500), to avoid the error mentioned above (UnknownError: unknown error: 'name' must be a nonempty string). The problem was that the new handle was not yet available. Just give it a moment after the click, to open the new tab and have it's handler available. Yes, it's adding an ugly sleep, but it's a short one...

    element(by.id("newPlan")).click().then(function () {
            browser.sleep(500);
            browser.getAllWindowHandles().then(function (handles) {
                newWindowHandle = handles[1]; // this is your new window
                browser.switchTo().window(newWindowHandle).then(function () {
                    // fill in the form here
                    expect(browser.getCurrentUrl()).toMatch(/\/url/);
                });
            });
        });
    

提交回复
热议问题