syn

by bitovi

bitovi / syn

Standalone Synthetic Event Library

444 Stars 268 Forks Last release: 6 months ago (v0.15.0) MIT License 331 Commits 26 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Syn

Join the chat at https://gitter.im/bitovi/syn License: MIT npm version Travis build status Greenkeeper badge

For questions or discussion, check out our forums.

If you are looking for the Synergy project, you can find it here. Thanks postquagga for letting us use the name!

Syn lets you simulate user behavior like typing, clicking, moving, and dragging exactly how a real user would perform those actions.

Syn.click( 'hello' )
   .type( 'Hello World' )
   .drag( 'trash' );

Install

Install Syn via the command line with npm:

> npm install syn

or bower:

> bower install syn

Or by downloading it here.

Inside the download, npm package and bower package, there are the following folders:

  • dist/global/syn.js
    - A standalone file that can be used with a
     tag.
  • dist/amd
    - An AMD build that can be used with RequireJS and other AMD loaders.
  • dist/cjs
    - A CommonJS build that is used by node or browserify.
  • src
    - The source files that can be loaded by StealJS, SystemJS, and eventually JSPM.

Setup

The following walk you through how to load Syn into various environments.

Node / Browserify

Assuming you installed with

npm
, simply
require("syn")
like the following:
var syn = require("syn");
syn.click(document.getElementById('hello'));

StealJS

If you installed via NPM or Bower and are using the npm or bower module for configuration, you can use import, require, or define to load the syn module without any configuration.

import syn from "syn";
syn.click(document.getElementById('hello'));

AMD / RequireJS

Add the following package configuration:

require.config({
    packages: [{
        name: 'syn',
        location: 'PATH/TO/syn/dist/amd',
        main: 'syn'
    }]
});

PATH/TO should be the path from your baseUrl to the location of the syn folder. Once this is properly configured, you should be able to write:

define(['syn'], function(syn){
  syn.click(document.getElementById('hello'));
});

Script Tag / Standalone

If you don't use a module loader, you can simply add the following to your page:


PATH/TO should be the path to the installed syn folder.

Use

syn.click( element [, options][, callback] )

syn.dblclick( element [, options][, callback] )

syn.type( element, text [, callback] )

syn.key( element, key [, callback] )

syn.delay( time=600 )

syn.drag( element, optionsOrTarget [, callback])

Contributing

Check out the contribution guide.

Relevant Links

  1. Blog post introducing Syn — a Standalone Synthetic Event Library
  2. Gitter chat

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.