Use any browser on BrowserStack!
The easiest way is to keep karma-browserstack-launcher as a devDependency in your package.json.
{
"devDependencies": {
"karma": "~0.10",
"karma-browserstack-launcher": "~0.1"
}
}You can also add it by this command:
npm install karma-browserstack-launcher --save-dev// 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']
});
};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)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)
devicename of the devicereal_mobileallow browserstack to use a simulatorbrowsername of the browserbrowser_versionversion of the browseroswhich platform ?os_versionversion of the platform
BrowserStack's REST API documentation explains how to retrieve a list of desired capabilities for browsers.
For an example project, check out Karma's e2e test.
For more information on Karma see the homepage.