Skip to content

Central hub for distributing web apps to multiple browsers on multiple environments

License

Notifications You must be signed in to change notification settings

LinkedInAttic/insframe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InsFrame (Inside iFrame) is a central hub to distribute web apps to multiple environments. You have some browsers connect to InsFrame and then send a url to it, all browsers will open the url.

We first implemented InsFrame to work with JsTestDriver to distribute JavaScript unit tests to multiple browsers on multiple environments automatically and transparently in order to reduce the complexity of setting up multiple browsers for each developer but still make sure code quality.

InsFrame is very potential to do some solid work, such as:

  • JavaScript unit testing continuous integration
  • Distribute performance benchmarks
  • Screen scraping

InsFrame is built on top of NodeJS, Express, SocketIO, and JSFace.

Installation

$ npm install -g insframe

Quick Start

Start InsFrame server:

$ insframe

By default InsFrame listens to port 2011. You can run InsFrame in another port, for example:

$ insframe 8081

Point some browsers to InsFrame.

Hack it locally

First clone InsFrame from our Github repository:

$ git clone git://github.com/linkedin/insframe.git

Then run:

$ cd insframe && node -e "new (require('./InsFrame'))()"

Commands

open: Distribute a URL

To distribute a url, send a request to /open/?url=URL. For example:

$ curl http://localhost:2011/open/?url=http://engineering.linkedin.com

close: Close a URL

To close an url, send a request to /close/?url=URL. For example:

$ curl http://localhost:2011/close/?url=http://engineering.linkedin.com

clear: Close all URLs

To close all URLs have been distributed by InsFrame, send a request to /clear. For example:

$ curl http://localhost:2011/clear/

Clear command is run after 5 minutes timeout to make sure all browsers connecting to InsFrame have a fresh state.

About

Central hub for distributing web apps to multiple browsers on multiple environments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published