Skip to content
This repository was archived by the owner on Sep 19, 2018. It is now read-only.

Emulation of a Chrome-based browser on a mobile device for Node.js

Notifications You must be signed in to change notification settings

w3c/mobile-web-browser-emulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dependency Status devDependency Status

Mobile Web Browser Emulator

Mobile Web Browser Emulator is a Node.js tool which simulates a Chrome-based browser on a mobile device. This module also allows manipulation via Selenium WebDriver. It is an easy way to test mobile web applications on mobile devices.

This module is used by the new version of the Mobile Checker by W3C.

This application works in headless mode (powered via XVFB). Using it on the server side is easy.

alt google screenshot alt w3c screenshot

Install

Start by having BrowserMob Proxy set up and running. Then run the following command

npm install mobile-web-browser-emulator

API

With Mobile Web Browser Emulator, it is easy test mobile web applications using the Selenium WebDriver API.

Emulation example:

var MobileBrowser = require('mobile-web-browser-emulator').MobileBrowser;
var mobileBrowser = new MobileBrowser();

mobileBrowser.emulate(
  // Parameters such as dimensions for tablets, smartphones or desktops.
  {
    url: 'https://www.google.com/', // URL to load. **required**
    width: 300, // Width of the device. **optional** (300 by default)
    height: 700 // Height of the device. **optional** (300 by default)
  },
	// The second parameter is a callback that takes a browser instance as an argument
	function(browser) { /* ... */ }
);

Methods on the browser object:

browser.do(function(driver) {
  // The driver object can then be used with Selenium WebDriver
});
browser.takeScreenshot('example.png');

Manipulation with Selenium example :

var MobileBrowser = require('../lib/index.js').MobileBrowser;
var mobileBrowser = new MobileBrowser();

mobileBrowser.emulate({
  url: 'https://www.google.com',
  width: 300,
  height: 700
}, function(browser) {
  browser.do(function(driver) {
    driver.getTitle().then(function(title) { // Selenium Webdriver Method
      console.log(title);
    });
  });
});

Screenshot example:

var MobileBrowser = require('../lib/index.js').MobileBrowser;
var mobileBrowser = new MobileBrowser();

mobileBrowser.emulate({
  url: 'https://www.google.com',
  width: 300,
  height: 700
}, function(browser) {
  browser.takeScreenshot(__dirname + "/../screenshot.png");
});

Licence

Copyright (c) 2014 Dominique Hazael Massieux, Guillaume Baudusseau

MIT

About

Emulation of a Chrome-based browser on a mobile device for Node.js

Resources

Stars

Watchers

Forks

Packages

No packages published