Test the external links on your web app
JavaScript
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
screenshots
.babelrc
.gitignore
.travis.yml
LICENSE.md
README.md
app.js
extLinksTester.example.config.js
package.json
test.js

README.md

External Link Tester Build Status

Testing external links of your application, like documentation and partner website links, is important since if they break or change you'll probably only find out through your users. You can use External Link Tester in your CI system to make sure the external links your application uses are not broken.

Just add the links you wish to test to the configuration file, have your CI system run the package and point it to the resulting JUnit report.

External Link Tester

Install

Run npm install --global external-link-tester

Usage

Pass the name of the configuration file as a command line parameter. Note the configuration file needs to be in the root directory of your application.

Example: external-link-tester extLinksTester.example.config.js

The output is a JUnit report. You can specify the path you want the report to go to in outputFile configuration property in the configuration file.

Usage without global install

Example: node app.js extLinksTester.example.config

When you install it in your project assuming, for example, you created a config file called extLinksTester.config.js in the root you then run the command:

node node_modules/external-link-tester/app.js extLinksTester.config.js

Configuration

Checkout extLinksTester.example.config.js for a configuration example. The properties you should define in this file are:

  • The path to the outputFile
  • And an array of externalLinks with the timeout value after which the application considers the link is down.

Like so:

module.exports = {
    outputFile: 'results/links-test-result.xml',
    externalLinks: [
        {
            url: 'http://www.google.com111',
            timeout: 3000
        },
        {
            url: 'https://en.wikipedia.org/wiki/List_of_HTTP_status_codes',
            timeout: 3000
        }
    ]
};

Run tests

npm test

TODO

  • use timeout
  • be able to specify a path and look for external links
  • be able to specify exclude links

License

The code in this repository can be used under the MIT License.