Selenium UI Testing with Node

By: Dan Stewart
August 28, 2017

Let's use Selenium to test a web page using Node, Mocha, and the Selenium Web Driver.

First we use npm init to create a package.json file. After answering the questions during the init, we install mocha and selenium-webdriver.

npm init
npm install mocha --save
npm install selenium-webdriver --save


  "name": "stewshack-numeric-input-testing",
  "version": "1.0.0",
  "description": "Testing the Numeric Input Testing page.",
  "main": "index.js",
  "scripts": {
    "start": "./node_modules/.bin/mocha app.js -b -t 60000 --slow 30000"
  "author": "Dan Stewart",
  "license": "MIT",
  "dependencies": {
    "mocha": "^3.5.0",
    "selenium-webdriver": "^3.5.0"

Now we can write a test for a webpage.


"use strict";

const pageUrl = ""
const webdriver = require('selenium-webdriver');
const timeoutMilliseconds = 10000;

describe("Numeric test should accept a valid input.", function validInputTest() {
  it("Test for valid input", function inputTest() {
    const driver = new webdriver


    driver.wait(webdriver.until.elementLocated(webdriver.By.className("sorting_1")), timeoutMilliseconds);

    return driver.close();