How to close the current tab of the browser in protractor with out closing the complete browser

后端 未结 3 361
花落未央
花落未央 2021-01-12 13:45

In the application i have two options "Google , Twitter" . When i click on any option it will open in new tab.

In my test case , i would like to click on go

相关标签:
3条回答
  • 2021-01-12 14:33

    You can try the following:

    Switch to the new opened tab. Close the current windows (in this case, the new tab). Switch back to the first window.

    browser.getAllWindowHandles().then((handles) => {
        browser.driver.switchTo().window(handles[1]);
        browser.driver.close();
        browser.driver.switchTo().window(handles[0]);
    });
    
    0 讨论(0)
  • 2021-01-12 14:33

    I did and this and it works for me :

      browser.getAllWindowHandles().then(function(handles) {
      let newWindowHandle = handles[1]; // this is your new window
      browser.switchTo().window(newWindowHandle).then(function() {
        browser.close();
        browser.switchTo().window(handles[0]);
      });
    });
    
    0 讨论(0)
  • 2021-01-12 14:35

    This is how I used it in one project.

        const allWindowHandlers = await browser.getAllWindowHandles();
    
            if (allWindowHandlers.length > 1) {
              for (let windowHandlerIndex = 1; windowHandlerIndex < allWindowHandlers.length; windowHandlerIndex++) {
                const windowHandler = allWindowHandlers[windowHandlerIndex];
                await browser.switchTo().window(windowHandler);
                await browser.close();
              }
            }
    
        await browser.switchTo().window(allWindowHandlers[0]);
    
    

    You can use it inside your steps implementation.

    You can use it before starting a new scenario, to be sure that only the first window is selected and everything else is closed.

    0 讨论(0)
提交回复
热议问题