karma-browserstack-proxy-launcher v0.1.8
karma-browserstack-launcher
Use any browser on BrowserStack!
Installation
The easiest way is to keep karma-browserstack-launcher as a devDependency in your package.json. Just run,
$ npm install karma-browserstack-launcher --save-devand it will be added automatically.
Configuration
// karma.conf.js
module.exports = function(config) {
config.set({
// global config of your BrowserStack account
browserStack: {
username: 'jamesbond',
accessKey: '007'
},
// define browsers
customLaunchers: {
bs_firefox_mac: {
base: 'BrowserStack',
browser: 'firefox',
browser_version: '21.0',
os: 'OS X',
os_version: 'Mountain Lion'
},
bs_iphone5: {
base: 'BrowserStack',
device: 'iPhone 5',
os: 'ios',
os_version: '6.0'
}
},
browsers: ['bs_firefox_mac', 'bs_iphone5']
})
}Global options
usernameyour BS username (email), you can also useBROWSER_STACK_USERNAMEenv variable.accessKeyyour BS access key (password), you can also useBROWSER_STACK_ACCESS_KEYenv variable.startTunneldo you wanna establish the BrowserStack tunnel ? (defaults totrue)tunnelIdentifierin case you want to start the BrowserStack tunnel outsidekarmaby settingstartTunneltofalse, set the identifier passed to the-localIdentifieroption here (optional)retryLimithow many times do you want to retry to capture the browser ? (defaults to3)captureTimeoutthe browser capture timeout (defaults to120)timeoutthe BS worker timeout (defaults to300buildthe BS worker build name (optional)namethe BS worker name (optional)projectthe BS worker project name (optional)binaryBasePaththe BS binary base bath, you can also useBROWSER_STACK_BINARY_BASE_PATHenv variable. This will override the default and set the base path to the BS local binary (optional)proxyHostthe host of your proxy as you would define it for BrowserstackLocalproxyPortthe port of your proxy as you would define it for BrowserstackLocalproxyUserthe username used for authentication with you proxy as you would define it for BrowserstackLocalproxyPassthe password used for authenticationwit your proxy as you would define it for BrowserstackLocal
Per browser options
devicename of the devicereal_mobileallow browserstack to use a simulatorbrowsername of the browserbrowser_versionversion of the browseroswhich platform ?os_versionversion of the platform
Browserstack iOS simulators
By default, your Selenium and JS tests will run on real iOS devices on BrowserStack. Since we are in the implementation phase, we are still working on a few things, such as adding more devices, ability to test on local URLs, etc.
In case your tests are facing any issues on real iOS devices, we also provide iOS simulators where you can run your automated tests smoothly.
To access our iOS simulators, use the following capabilities:
customLaunchers: {
iPad_3: {
real_mobile: false,
device: 'iPad 3rd (6.0)',
os: 'ios',
'os_version': '6.0',
'browser_version': null,
browser: 'Mobile Safari'
}
}List of iOS simulators you can test on:
device: 'iPad 3rd', 'os_version': '5.1'device: 'iPad 3rd (6.0)', 'os_version': '6.0'device: 'iPad Mini', 'os_version': '7.0'device: 'iPad 4th', 'os_version': '7.0'device: 'iPhone 4S', 'os_version': '5.1'device: 'iPhone 4S (6.0)', 'os_version': '6.0'device: 'iPhone 5', 'os_version': '6.0'device: 'iPhone 5S', 'os_version': '7.0'
BrowserStack's REST API documentation explains how to retrieve a list of desired capabilities for browsers.
For more information on Karma see the homepage.
Check out sample code working with karma-browserstack-launcher here.