Skip to content

Can not open more than one additional tab #1874

@jplegoff

Description

@jplegoff

What are you trying to achieve?

When I use I.openNewTab() for the second time, it does not open a new tab.

What do you get instead?

As you can see when running code below the 3rd assertion fails because I.grabNumberOfOpenTabs() returns 2 instead of 3 as expected

    I.amOnPage('https://www.google.com');
    I.waitForElement('div#searchform');
    let tabs = await I.grabNumberOfOpenTabs();
    var assert = require('assert');
    assert.equal(tabs, 1);
    I.openNewTab();
    I.amOnPage('https://www.yahoo.com');
    tabs = await I.grabNumberOfOpenTabs();
    assert.equal(tabs, 2);
    I.openNewTab();
    I.amOnPage('https://www.codecept.io');
    tabs = await I.grabNumberOfOpenTabs();
    assert.equal(tabs, 3);

Details

  • CodeceptJS version: v2.3.0

Console output

Helpers: WebDriver
Plugins: screenshotOnFail

Dashboard test.js --
    [1] Starting recording promises
    Emitted | suite.before ([object Object])
  Open more than one tab
    Emitted | test.before ([object Object])
    Emitted | test.start ([object Object])
    Emitted | step.before (I am on page "https://www.google.com")
    Emitted | step.after (I am on page "https://www.google.com")
    Emitted | step.before (I wait for element "div#searchform")
    Emitted | step.after (I wait for element "div#searchform")
    Emitted | step.before (I grab number of open tabs )
    Emitted | step.after (I grab number of open tabs )
    Emitted | step.start (I am on page "https://www.google.com")
    I am on page "https://www.google.com"
    Emitted | step.passed (I am on page "https://www.google.com")
    Emitted | step.finish (I am on page "https://www.google.com")
    Emitted | step.start (I wait for element "div#searchform")
    I wait for element "div#searchform"
    Emitted | step.passed (I wait for element "div#searchform")
    Emitted | step.finish (I wait for element "div#searchform")
    Emitted | step.start (I grab number of open tabs )
    I grab number of open tabs 
    › [Tabs] Total 1
    Emitted | step.passed (I grab number of open tabs )
    Emitted | step.finish (I grab number of open tabs )
    Emitted | step.before (I open new tab )
    Emitted | step.after (I open new tab )
    Emitted | step.before (I am on page "https://www.yahoo.com")
    Emitted | step.after (I am on page "https://www.yahoo.com")
    Emitted | step.before (I grab number of open tabs )
    Emitted | step.after (I grab number of open tabs )
    Emitted | step.start (I open new tab )
    I open new tab 
    Emitted | step.passed (I open new tab )
    Emitted | step.finish (I open new tab )
    Emitted | step.start (I am on page "https://www.yahoo.com")
    I am on page "https://www.yahoo.com"
    Emitted | step.passed (I am on page "https://www.yahoo.com")
    Emitted | step.finish (I am on page "https://www.yahoo.com")
    Emitted | step.start (I grab number of open tabs )
    I grab number of open tabs 
    › [Tabs] Total 2
    Emitted | step.passed (I grab number of open tabs )
    Emitted | step.finish (I grab number of open tabs )
    Emitted | step.before (I open new tab )
    Emitted | step.after (I open new tab )
    Emitted | step.before (I am on page "https://www.codecept.io")
    Emitted | step.after (I am on page "https://www.codecept.io")
    Emitted | step.before (I grab number of open tabs )
    Emitted | step.after (I grab number of open tabs )
    Emitted | step.start (I open new tab )
    I open new tab 
    Emitted | step.passed (I open new tab )
    Emitted | step.finish (I open new tab )
    Emitted | step.start (I am on page "https://www.codecept.io")
    I am on page "https://www.codecept.io"
    Emitted | step.passed (I am on page "https://www.codecept.io")
    Emitted | step.finish (I am on page "https://www.codecept.io")
    Emitted | step.start (I grab number of open tabs )
    I grab number of open tabs 
    › [Tabs] Total 2
    Emitted | step.passed (I grab number of open tabs )
    Emitted | step.finish (I grab number of open tabs )
    [1] Error | AssertionError [ERR_ASSERTION]: 2 == 3
    [1] Starting <teardown> session
    Emitted | test.failed ([object Object])
    Emitted | test.finish ([object Object])
    [1] <teardown> Stopping recording promises
 › <screenshotOnFail> Test failed, saving screenshot
 › Screenshot has been saved to /Users/jplegoff/dev/tds-dashboard/output/Open_more_than_one_tab.failed.png
  ✖ FAILED in 5338ms

    [2] Starting recording promises
    Emitted | test.after ([object Object])
    Emitted | suite.after ([object Object])

-- FAILURES:

  1) Dashboard test.js
       Open more than one tab:

      2 == 3
      + expected - actual

      -2
      +3
      
  ssertionError [ERR_ASSERTION]: 2 == 3
      at Test.Scenario (dashboard_test.js:17:12)
      at <anonymous>
      at process._tickCallback (internal/process/next_tick.js:160:7)```

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions