SDET Unicorns

How to handle multiple windows in WebdriverIO

Table of Content

Scenario: Switch to a new window, close the new window and switch back to the old window.

Let’s take a look at how to do that –

I’ll be using this test site for our example.

Alt Text

describe('New Tab', () => {
  it('should be able to switch to a new tab', () => {
    // find selector
    const link = $('.example a');

    // access the page
    browser.url('/windows');

    // click on the link to open a new window
    link.click();

    // switch window
    browser.switchWindow('/windows/new');

    // optional assertion
    expect(browser).toHaveTitle('New Window');
  });

  it('should close the new tab and switch back to old tab', () => {
    // close new window
    browser.closeWindow();

    // switch back to old window
    browser.switchWindow('/windows');

    // optional assertion
    expect(browser).toHaveTitle('The Internet');
  });
});

? You can also find this example on GitHub.


Check out this video to see a detailed explanation of the code above:


To learn more about WebdriverIO, you can check out my free tutorial series here –

WebdriverIO – Tutorial Series for Beginners

My Resources

Thrive Suite: The all-in-one WordPress theme I used to create my blog.
Jasper AI: My favorite AI writing tool.
Surfer SEO:  A tool to help you rank your content on the first page of Google.

Write Content Faster

5/5

Write blog posts that rank for affiliate terms!

Join our mailing list

Unlock the Secrets to Becoming a SDET Pro in the Industry!

Stay ahead of the curve! Join our mailing list for exclusive insights, tips, and the latest industry updates delivered straight to your inbox

Table of Content

Related Post

7 Principles of Software Testing

7 Principles of Software Testing with Examples

Software testing plays a crucial role in the software development life cycle as it helps ensure the quality, reliability, and performance of the final product. Software testing is not just about finding defects; it also provides valuable insights into the overall quality of the software. By conducting effective software testing, it shows how well the application behaves in different scenarios and whether it meets user expectations.

Read More »
Differences Between CI/CD and DevOps

Key Differences Between CI/CD and DevOps

Software development is far from a simple journey that involves merely executing code and launching applications. It often presents challenges, as it’s rare to get everything right from the start. Each time you implement new or frequent code changes, you inadvertently introduce potential issues that can be time-consuming to resolve. This complexity necessitates a structured approach to ensure smooth production.

Read More »