Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting Error while trying to run example test of Selenium Webdriver (WebdriverJS)

I am trying to run example test in file google_search_test.js located at \node_modules\selenium-webdriver\example. I am using WebdriverJS and only installed the selenium-webdriver NPM package in my system.

I have moved to that path location in command prompt and ran the following command: node google_search_test.js

I received the following error:

enter image description here

Error Description:

Path\node_modules\selenium-webdriver\example>node google_search_test.js

Path\node_modules\selenium-webdriver\testing\index.js:184
exports.describe.skip = global.describe.skip;
                                       ^
TypeError: Cannot read property 'skip' of undefined
    at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N
odeJs\node_modules\selenium-webdriver\testing\index.js:184:40)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N
odeJs\node_modules\selenium-webdriver\example\google_search_test.js:24:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
like image 625
Ravi Kanasagra Avatar asked Dec 01 '14 09:12

Ravi Kanasagra


People also ask

What is WebDriverJS in Selenium?

So as you might guess, WebDriverJS is simply a wrapper over the JSON wire protocol exposing high level functions to make our life easy. Now if you search webdriver JS on the web, you'll come across 2 different bindings namely selenium-webdriver and webdriverjs (yeah, lots of driver), both available as node modules.

How does Selenium WebDriver handle Javascript errors?

This type of error appears at the Console Tab on opening the Developer tools in the browser. This can occur due to some functional issue in the page or due to extra logs which may cause performance issues. We can handle the Javascript errors with the driver object and manage method.

How do I run a Selenium test case?

Steps to execute the test case: After logging into the account, choose the Automate tab from the home page. After that, the user will be navigated to execute your test case as shown below. Click on Let's get started! Note: Before using Browserstack, make sure Selenium has been configured on the system.


1 Answers

WebDriverJS (distributed as the npm package selenium-webdriver) uses Mocha as its test driver. Assuming you are in the directory where node_modules is located, you must run the test in Mocha:

mocha -t 5000 node_modules/selenium-webdriver/example/google_search_test.js

The above will work if you have Mocha installed globally (with npm -g install mocha). If you install it locally (with npm install mocha), you have to give the path to the local binary. On Unix systems you'd do:

node_modules/.bin/mocha -t 5000 node_modules/selenium-webdriver/example/google_search_test.js

I don't know where npm puts local binaries on Windows systems.

I suggest using -t 5000 to increase the timeout from the default 2 seconds to 5 seconds. On my system, the default timeout is too short and the test fails in the before hook while waiting for Firefox to start.

If you wonder why selenium-webdriver does not just list Mocha as a dependency this is because it is quite possible to use this package without using Mocha. So it is up to users of the package to install Mocha themselves, if they want to use it.

like image 177
Louis Avatar answered Nov 14 '22 23:11

Louis