Socket
Socket
Sign inDemoInstall

browserevent

Package Overview
Dependencies
39
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    browserevent

Plugin for the WebdriverIO project to listen on client side browser events


Version published
Weekly downloads
3
increased by50%
Maintainers
1
Install size
15.3 MB
Created
Weekly downloads
 

Readme

Source

Browserevent

This is an experimental feature that helps you to listen on events within the browser. It is currently only supported in Chrome browser (other browser will eventually follow). To register an event call the addEventListener command. If an event gets invoked it returns almost the complete event object that got caught within the browser. Only the Window attribute will be removed to avoid circular references. All objects from type HTMLElement will be replaced by their xPath. This will help you to query and identify this element with WebdriverIO.

Install

First install this plugin via NPM by executing

$ npm install browserevent

Then just require the module and enhance your client object.

var client = require('webdriverio').remote({ desiredCapabilities: { browserName: 'chrome' } }),
	browserevent = require('browserevent');

// by passing the client object as argument the module enhances it with
// the `addEventListener` and `removeEventListener` command
browserevent.init(client);

Usage

After that you can use addEventListener to register events on one or multiple elements and removeEventListener to remove them.

Example

client
    .url('http://google.com')
    .addEventListener('dblclick','#hplogo', function(e) {
        console.log(e.target); // -> 'id("hplogo")'
        console.log(e.type); // -> 'dblclick'
        console.log(e.clientX, e.clientY); // -> 239 524
    })
    .doubleClick('#hplogo') // triggers event
    .end();

Note: this is still an experimental feature. Some events like hover will not be recorded by the browser. But events like click, doubleClick or custom events are working flawlessly. You can also use this feature in cloud environments like Sauce Labs when using a secured tunnel that proxies the port 5555. But be aware of possible delays due to slow connections between client and cloud server. Your click listener could outlast some selenium requests until it gets fired. I haven't faced this problem if the standalone server runs on my local machine.

Contributing

Please fork, add specs, and send pull requests! In lieu of a formal styleguide, take care to maintain the existing coding style.

Release History

  • 2013-04-22   v0.1.0   ported feature from WebdriverIO project
  • 2015-02-05   v0.2.0   fixed path to extension, break test if connection didn't get established

Keywords

FAQs

Last updated on 05 Feb 2015

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc