Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

min-wd

Package Overview
Dependencies
Maintainers
1
Versions
37
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

min-wd

Minimal WebDriver that pipes stdin to browsers

  • 1.0.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
754
decreased by-10.45%
Maintainers
1
Weekly downloads
 
Created
Source

Minimal WebDriver

Pipes stdin to all configured browsers using the Selenium WebDriver protocol.

  • Concurrent test runs
  • SauceLabs support
  • No web server required

Repository: https://github.com/mantoni/min-webdriver


Install with npm

npm install min-wd -g

Usage

Put a config file name .min-wd in your project directory:

{
  "hostname": "localhost",
  "port": 4444,
  "browsers": [{
    "name": "internet explorer",
    "version": "10"
  }, {
    "name": "chrome"
  }]
}

Alternatively, add a webdriver property with the configs to your package.json file.

Assuming my-script.js contains this:

console.log('Hello %s!', 'browser');
process.exit(0);

Use with browserify:

$ browserify -t min-wd my-script.js | min-wd
= internet explorer 9 ========================================================
Hello browser!
= chrome * ===================================================================
Hello browser!

SauceLabs

Export your SauceLabs credentials:

export SAUCE_USERNAME="your-user-name"
export SAUCE_ACCESS_KEY="your-access-key"

Enable SauceLabs in your .min-wd file:

{
  "sauceLabs": true,
  "browsers": [...]
}

Loading a web page

By default, min-webdriver will folk a new browser and inject the given script straight away without loading any web page. If you want to run your test cases in the context of a web page, you can configure the start page in the .min-wd file:

{
  "url": "http://my-test-page"
}

Mocha Support

Testing with Mocha requires mocaccino:

$ browserify -t min-wd -p mocaccino my-test.js | min-wd

If this is your use case, make sure to give Mochify a try.

Timeouts

The default timeout for the log polling script is 10 seconds. If you have long running test cases that don't print anything for more than 10 seconds, you can increase the timeout by adding a timeout property to your config:

"timeout": 20000

Known issues and solutions

min-webdriver injects your script directly into the default page launched by the Selenium driver. In some cases browsers behave strangely in this context. Work around this by specifying a URL to a simple web page that is loaded before running the tests:

{
  "browsers": [{
    "name": "Internet Explorer",
    "version": "9",
    "url": "http://my-server/doctype.html"
  }]
}

With this content in the doctype.html:

<!DOCTYPE html><html><head><meta encoding="utf-8"></head><body></body></html>

You can also specify a "url" for all browser on the root level.

Loading a page before injecting the scripts is solving these issues:

  • IE 9 reporting it can't find JSON because the Selenium default page makes IE switch to quirks mode
  • Error: SECURITY_ERR: DOM Exception 18 because setting cookies is not allowed for file:// URLs
  • Error: access to the Indexed Database API is denied in this context

License

MIT

Keywords

FAQs

Package last updated on 06 Aug 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc