after function on selenium test is not defined

Viewed 303

I'm attempting to use suite() function from Selenium using Javascript.

The problem comes when I run the following code

const { Builder, By, Key, until } = require("selenium-webdriver");
const { suite } = require("selenium-webdriver/testing");
suite(function (env) {
  describe("Log in", function () {
    let driver;

    before(async function () {
      driver = await env.builder().build();
    });

    after(() => driver.quit());

    it("demo", async function () {
      //some test
    });
  });
}); 

I get the error:

ReferenceError: after is not defined

I think its a problem with mocha since the documentation says Provides extensions for Jasmine and Mocha.

I have already tried with

yarn add mocha
yarn add Jasmine 

but get the same error. Can anyone explain me what 'provides extensions' means?

1 Answers

Method 1:

Instead of using node test.js, try npx mocha --no-timeouts test.js to run your test.

Method 2:

Set up a test script in package.json:

"scripts": {
  "test": "mocha"
}

Run your test with yarn test test.js

Ref:

Related