UNPKG

ysb-grunt-sauce-tunnel

Version:
133 lines (97 loc) 3.61 kB
# ysb-grunt-sauce-tunnel Grunt Sauce tunnel with pac options > Runs and stops the saucelabs tunnel. > Cloned from https://github.com/civitaslearning/grunt-sauce-tunnel ## Getting Started This plugin requires Grunt `~0.4.1` If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command: ```shell npm install ysb-grunt-sauce-tunnel --save-dev ``` Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript: ```js grunt.loadNpmTasks('ysb-grunt-sauce-tunnel'); ``` ## The "sauce_tunnel" task ### Overview In your project's Gruntfile, add a section named `sauce_tunnel` to the data object passed into `grunt.initConfig()`. ```js grunt.initConfig({ sauce_tunnel: { options: { username: 'your sauce username', key: 'your sauce key', identifier: 'tunnel identifier', tunnelTimeout: 120, // whatever timeout you want to use scproxy: <port number>, // Port to use for the built-in HTTP proxy seport: <port number>, // Port on which Sauce Connect's Selenium relay will listen for requests tunneldomains: <comma separated list of domains>, directdomains: <comma separated list of domains>, logfile: <logfile path>, verbose: true, pac: 'pac_url.pac' }, server: {} }, }) ``` ### Options #### options.username Type: `String` Default value: `process.env.SAUCE_USERNAME` Your Saucelabs username #### options.key Type: `String` Default value: `process.env.SAUCE_ACCESS_KEY` Your Saucelabs key #### options.identifier Type: `String` Default value: `workaround` #### options.pac Type: `String` Default value: `Proxy_PAC_Url` #### options.scproxy Type: `Integer` Default value: `29999` #### options.seport Type: `Integer` Default value: `4446` #### options.tunneldomains Type: `String` Default value: `<comma separated list of domains` #### options.directdomains Type: `String` Default value: `comma separated list of domains` See [the FAQ](https://saucelabs.com/docs/connect#tunnel-identifier) for a better explanation. If you use this option, you also have to add the `tunnel-identifier` to your desired capabilities so that Sauce can associate your tests with the tunnel. Right now it's required by [sauce-tunnel](https://github.com/jmreidy/sauce-tunnel), so it'll default to 'workaround' until `sauce-tunnel` doesn't require it either. #### options.tunnelTimeout Type: `Number` Default value: 120 A numeric value indicating the time to wait before closing all tunnels. ## The "sauce_tunnel\_stop" task ### Overview In your project's Gruntfile, add a section named `sauce_tunnel_stop` to the data object passed into `grunt.initConfig()`. ```js grunt.initConfig({ sauce_tunnel_stop: { options: { username: 'your sauce username', key: 'your sauce key', identifier: 'tunnel identifier' }, server: {} }, }) ``` If stop task is executed after the run task, it's close tunnel on sauce lab server and kill local process. If stop task is executed alone, it's only clause tunnel on sauce lab server. ### Options #### options.username Type: `String` Default value: `process.env.SAUCE_USERNAME` Your Saucelabs username #### options.key Type: `String` Default value: `process.env.SAUCE_ACCESS_KEY` Your Saucelabs key #### options.identifier Type: `String` Default value: `workaround`