{"versions":{"1.0.1":{"name":"blocking-proxy","description":"WebDriver Proxy for testing rich clients. It block certain calls until Angular is done updating the page under test.","homepage":"https://github.com/angular/blocking-proxy","keywords":["test","testing","webdriver","webdriverjs","selenium"],"contributors":[{"name":"Michael Giambalvo","email":"heathkit@google.com"},{"name":"Julie Ralph","email":"ju.ralph@gmail.com"}],"dependencies":{"minimist":"^1.2.0"},"devDependencies":{"@types/jasmine":"2.5.45","@types/minimist":"^1.1.29","@types/nock":"^8.2.0","@types/node":"^6.0.45","@types/rimraf":"0.0.28","@types/selenium-webdriver":"^2.53.39","body-parser":"1.14.2","clang-format":"^1.0.34","gulp":"^3.9.1","gulp-clang-format":"^1.0.23","gulp-tslint":"^7.0.1","jasmine":"^2.3.2","jasmine-co":"^1.2.2","jasmine-ts":"^0.2.1","jshint":"2.9.1","nock":"^9.0.2","rimraf":"^2.5.4","run-sequence":"^1.2.2","selenium-mock":"^0.1.5","selenium-webdriver":"^3.6.0","ts-node":"^2.1.2","tslint":"^4.3.1","tslint-eslint-rules":"^3.1.0","typescript":"^2.1.5","vrsource-tslint-rules":"^0.14.1","webdriver-manager":"^12.0.6"},"repository":{"type":"git","url":"git://github.com/angular/jasminewd.git"},"typings":"built/lib/index.d.ts","main":"built/lib/index.js","bin":{"blocking-proxy":"built/lib/bin.js"},"scripts":{"prepublish":"gulp prepublish","start":"node built/lib/bin.js","webdriver":"webdriver-manager update && webdriver-manager start","test":"JASMINE_CONFIG_PATH=spec/jasmine_unit.json jasmine-ts","test:auto":"find lib spec | entr npm test","testapp":"cd testapp && npm start","test:e2e":"JASMINE_CONFIG_PATH=spec/jasmine_e2e.json jasmine-ts"},"jshintConfig":{"esversion":6},"engines":{"node":">=6.9.x"},"license":"MIT","version":"1.0.1","gitHead":"2c5b6f3f0243d1a29382870dd32d02bd6876de01","bugs":{"url":"https://github.com/angular/jasminewd/issues"},"_id":"blocking-proxy@1.0.1","_npmVersion":"5.4.2","_nodeVersion":"6.11.2","_npmUser":{"name":"anonymous","email":"angular-core+npm@google.com"},"dist":{"shasum":"81d6fd1fe13a4c0d6957df7f91b75e98dac40cb2","size":26036,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/blocking-proxy/-/blocking-proxy-1.0.1.tgz"},"maintainers":[{"name":"anonymous","email":"angular-core+npm@google.com"},{"name":"anonymous","email":"craig.nishina@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blocking-proxy-1.0.1.tgz_1508362705749_0.7009442718699574"},"directories":{},"publish_time":1508362705843,"_hasShrinkwrap":false,"_cnpm_publish_time":1508362705843},"1.0.0":{"name":"blocking-proxy","description":"WebDriver Proxy for testing rich clients. It block certain calls until Angular is done updating the page under test.","homepage":"https://github.com/angular/blocking-proxy","keywords":["test","testing","webdriver","webdriverjs","selenium"],"contributors":[{"name":"Michael Giambalvo","email":"heathkit@google.com"},{"name":"Julie Ralph","email":"ju.ralph@gmail.com"}],"dependencies":{"minimist":"^1.2.0"},"devDependencies":{"@types/jasmine":"2.5.45","@types/minimist":"^1.1.29","@types/nock":"^8.2.0","@types/node":"^6.0.45","@types/rimraf":"0.0.28","@types/selenium-webdriver":"^2.53.39","body-parser":"1.14.2","clang-format":"^1.0.34","gulp":"^3.9.1","gulp-clang-format":"^1.0.23","gulp-tslint":"^7.0.1","jasmine":"^2.3.2","jasmine-co":"^1.2.2","jasmine-ts":"^0.2.1","jshint":"2.9.1","nock":"^9.0.2","rimraf":"^2.5.4","run-sequence":"^1.2.2","selenium-mock":"^0.1.5","selenium-webdriver":"^3.6.0","ts-node":"^2.1.2","tslint":"^4.3.1","tslint-eslint-rules":"^3.1.0","typescript":"^2.1.5","vrsource-tslint-rules":"^0.14.1","webdriver-manager":"^12.0.6"},"repository":{"type":"git","url":"git://github.com/angular/jasminewd.git"},"typings":"built/lib/index.d.ts","main":"built/lib/index.js","scripts":{"prepublish":"gulp prepublish","start":"node built/lib/bin.js","webdriver":"webdriver-manager update && webdriver-manager start","test":"JASMINE_CONFIG_PATH=spec/jasmine_unit.json jasmine-ts","test:auto":"find lib spec | entr npm test","testapp":"cd testapp && npm start","test:e2e":"JASMINE_CONFIG_PATH=spec/jasmine_e2e.json jasmine-ts"},"jshintConfig":{"esversion":6},"engines":{"node":">=6.9.x"},"license":"MIT","version":"1.0.0","gitHead":"5a0ae7bc99ee0b40fe12262b041df8a748e5ac28","bugs":{"url":"https://github.com/angular/jasminewd/issues"},"_id":"blocking-proxy@1.0.0","_npmVersion":"5.4.2","_nodeVersion":"6.11.2","_npmUser":{"name":"anonymous","email":"angular-core+npm@google.com"},"dist":{"shasum":"e7999b4912021431606cba5868dcd8297d50e4d6","size":25786,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/blocking-proxy/-/blocking-proxy-1.0.0.tgz"},"maintainers":[{"name":"anonymous","email":"angular-core+npm@google.com"},{"name":"anonymous","email":"craig.nishina@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/blocking-proxy-1.0.0.tgz_1508358394875_0.3282144672702998"},"directories":{},"publish_time":1508358394995,"_hasShrinkwrap":false,"_cnpm_publish_time":1508358394995},"0.0.5":{"name":"blocking-proxy","description":"WebDriver Proxy for testing rich clients. It block certain calls until Angular is done updating the page under test.","homepage":"https://github.com/angular/blocking-proxy","keywords":["test","testing","webdriver","webdriverjs","selenium"],"contributors":[{"name":"Michael Giambalvo","email":"heathkit@google.com"},{"name":"Julie Ralph","email":"ju.ralph@gmail.com"}],"dependencies":{"minimist":"^1.2.0"},"devDependencies":{"@types/jasmine":"^2.2.33","@types/minimist":"^1.1.29","@types/nock":"^8.2.0","@types/node":"^6.0.45","@types/rimraf":"0.0.28","@types/selenium-webdriver":"^2.53.39","body-parser":"1.14.2","clang-format":"^1.0.34","gulp":"^3.9.1","gulp-clang-format":"^1.0.23","gulp-tslint":"^7.0.1","jasmine":"2.3.2","jasmine-co":"^1.2.2","jasmine-ts":"0.0.3","jshint":"2.9.1","nock":"^9.0.2","rimraf":"^2.5.4","run-sequence":"^1.2.2","selenium-mock":"^0.1.5","selenium-webdriver":"3.0.1","ts-node":"^2.0.0","tslint":"^4.3.1","tslint-eslint-rules":"^3.1.0","typescript":"~2.0","vrsource-tslint-rules":"^0.14.1","webdriver-manager":"^10.2.2"},"repository":{"type":"git","url":"git://github.com/angular/jasminewd.git"},"typings":"built/lib/index.d.ts","main":"built/lib/index.js","scripts":{"prepublish":"gulp prepublish","start":"node built/lib/bin.js","webdriver":"webdriver-manager update && webdriver-manager start","test":"JASMINE_CONFIG_PATH=spec/jasmine_unit.json jasmine-ts","test:auto":"find lib spec | entr npm test","testapp":"cd testapp && npm start","test:e2e":"JASMINE_CONFIG_PATH=spec/jasmine_e2e.json jasmine-ts"},"jshintConfig":{"esversion":6},"engines":{"node":">=6.9.x"},"license":"MIT","version":"0.0.5","gitHead":"3cf47195257a1be7f0c56e66bc6b64da1dbe8ea2","bugs":{"url":"https://github.com/angular/jasminewd/issues"},"_id":"blocking-proxy@0.0.5","_shasum":"462905e0dcfbea970f41aa37223dda9c07b1912b","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"anonymous","email":"angular-core+npm@google.com"},"dist":{"shasum":"462905e0dcfbea970f41aa37223dda9c07b1912b","size":37085,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/blocking-proxy/-/blocking-proxy-0.0.5.tgz"},"maintainers":[{"name":"anonymous","email":"angular-core+npm@google.com"},{"name":"anonymous","email":"craig.nishina@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/blocking-proxy-0.0.5.tgz_1486165449197_0.22546100057661533"},"directories":{},"publish_time":1486165451167,"_cnpm_publish_time":1486165451167,"_hasShrinkwrap":false},"0.0.4":{"name":"blocking-proxy","description":"WebDriver Proxy for testing rich clients. It block certain calls until Angular is done updating the page under test.","homepage":"https://github.com/angular/blocking-proxy","keywords":["test","testing","webdriver","webdriverjs","selenium"],"contributors":[{"name":"Michael Giambalvo","email":"heathkit@google.com"},{"name":"Julie Ralph","email":"ju.ralph@gmail.com"}],"dependencies":{"minimist":"^1.2.0"},"devDependencies":{"@types/jasmine":"^2.2.33","@types/minimist":"^1.1.29","@types/nock":"^8.2.0","@types/node":"^6.0.45","@types/rimraf":"0.0.28","@types/selenium-webdriver":"^2.53.39","body-parser":"1.14.2","clang-format":"^1.0.34","gulp":"^3.9.1","gulp-clang-format":"^1.0.23","gulp-tslint":"^7.0.1","jasmine":"2.3.2","jasmine-co":"^1.2.2","jasmine-ts":"0.0.3","jshint":"2.9.1","nock":"^9.0.2","rimraf":"^2.5.4","run-sequence":"^1.2.2","selenium-mock":"^0.1.5","selenium-webdriver":"3.0.1","ts-node":"^2.0.0","tslint":"^4.3.1","tslint-eslint-rules":"^3.1.0","typescript":"^2.0.3","vrsource-tslint-rules":"^0.14.1","webdriver-manager":"^10.2.2"},"repository":{"type":"git","url":"git://github.com/angular/jasminewd.git"},"typings":"built/lib/index.d.ts","main":"built/lib/index.js","scripts":{"prepublish":"gulp prepublish","start":"node built/lib/bin.js","webdriver":"webdriver-manager update && webdriver-manager start","test":"JASMINE_CONFIG_PATH=spec/jasmine_unit.json jasmine-ts","test:auto":"find lib spec | entr npm test","testapp":"cd testapp && npm start","test:e2e":"JASMINE_CONFIG_PATH=spec/jasmine_e2e.json jasmine-ts"},"jshintConfig":{"esversion":6},"engines":{"node":">=6.9.x"},"license":"MIT","version":"0.0.4","gitHead":"bab73b149ee33bd95e27898c94bdbdf3d3bc3ef4","bugs":{"url":"https://github.com/angular/jasminewd/issues"},"_id":"blocking-proxy@0.0.4","_shasum":"49016732ac38e8d53a2c7dcd502520aa0e58e044","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"anonymous","email":"angular-core+npm@google.com"},"dist":{"shasum":"49016732ac38e8d53a2c7dcd502520aa0e58e044","size":36980,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/blocking-proxy/-/blocking-proxy-0.0.4.tgz"},"maintainers":[{"name":"anonymous","email":"angular-core+npm@google.com"},{"name":"anonymous","email":"craig.nishina@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/blocking-proxy-0.0.4.tgz_1485853380805_0.5336215374991298"},"directories":{},"publish_time":1485853382605,"_cnpm_publish_time":1485853382605,"_hasShrinkwrap":false},"0.0.3":{"name":"blocking-proxy","description":"WebDriver Proxy for testing rich clients. It block certain calls until Angular is done updating the page under test.","homepage":"https://github.com/angular/blocking-proxy","keywords":["test","testing","webdriver","webdriverjs","selenium"],"contributors":[{"name":"Michael Giambalvo","email":"heathkit@google.com"},{"name":"Julie Ralph","email":"ju.ralph@gmail.com"}],"dependencies":{"minimist":"^1.2.0"},"devDependencies":{"@types/jasmine":"^2.2.33","@types/minimist":"^1.1.29","@types/nock":"^8.2.0","@types/node":"^6.0.45","@types/rimraf":"0.0.28","@types/selenium-webdriver":"^2.53.39","body-parser":"1.14.2","clang-format":"^1.0.34","gulp":"^3.9.1","gulp-clang-format":"^1.0.23","gulp-tslint":"^7.0.1","jasmine":"2.3.2","jasmine-co":"^1.2.2","jasmine-ts":"0.0.3","jshint":"2.9.1","nock":"^9.0.2","rimraf":"^2.5.4","run-sequence":"^1.2.2","selenium-mock":"^0.1.5","selenium-webdriver":"2.53.3","ts-node":"^2.0.0","tslint":"^4.3.1","tslint-eslint-rules":"^3.1.0","typescript":"^2.0.3","vrsource-tslint-rules":"^0.14.1","webdriver-manager":"^10.2.2"},"repository":{"type":"git","url":"git://github.com/angular/jasminewd.git"},"typings":"built/lib/index.d.ts","main":"built/lib/index.js","scripts":{"prepublish":"gulp prepublish","start":"node built/lib/bin.js","webdriver":"webdriver-manager update && webdriver-manager start","test":"JASMINE_CONFIG_PATH=spec/jasmine_unit.json jasmine-ts","test:auto":"find lib spec | entr npm test","testapp":"cd testapp && npm start","test:e2e":"JASMINE_CONFIG_PATH=spec/jasmine_e2e.json jasmine-ts"},"jshintConfig":{"esversion":6},"engines":{"node":">=6.9.x"},"license":"MIT","version":"0.0.3","gitHead":"21d1cceba827f88fcafefdc80539243d16e679c4","bugs":{"url":"https://github.com/angular/jasminewd/issues"},"_id":"blocking-proxy@0.0.3","_shasum":"4fa51f08f470f00a5fc585a37cf63fec8abdb5c8","_from":".","_npmVersion":"3.10.10","_nodeVersion":"6.9.4","_npmUser":{"name":"anonymous","email":"angular-core+npm@google.com"},"dist":{"shasum":"4fa51f08f470f00a5fc585a37cf63fec8abdb5c8","size":29168,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/blocking-proxy/-/blocking-proxy-0.0.3.tgz"},"maintainers":[{"name":"anonymous","email":"angular-core+npm@google.com"},{"name":"anonymous","email":"craig.nishina@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/blocking-proxy-0.0.3.tgz_1485400056248_0.09959156764671206"},"directories":{},"publish_time":1485400058225,"_cnpm_publish_time":1485400058225,"_hasShrinkwrap":false},"0.0.2":{"name":"blocking-proxy","description":"WebDriver Proxy for testing rich clients. It block certain calls until Angular is done updating the page under test.","homepage":"https://github.com/angular/blocking-proxy","keywords":["test","testing","webdriver","webdriverjs","selenium"],"author":{"name":"Michael Giambalvo","email":"heathkit@google.com"},"dependencies":{"es6-promise":"^4.0.5","minimist":"^1.2.0","selenium-webdriver":"2.53.3"},"devDependencies":{"@types/es6-promise":"0.0.32","@types/jasmine":"^2.2.33","@types/minimist":"^1.1.29","@types/node":"^6.0.45","@types/selenium-webdriver":"~2.53.31","body-parser":"1.14.2","clang-format":"^1.0.34","gulp":"^3.9.1","gulp-clang-format":"^1.0.23","gulp-tslint":"^7.0.1","jasmine":"2.3.2","jasmine-ts":"0.0.3","jshint":"2.9.1","run-sequence":"^1.2.2","ts-node":"^1.3.0","tslint":"^4.0.2","tslint-eslint-rules":"^3.1.0","typescript":"^2.0.3","vrsource-tslint-rules":"^0.14.1","webdriver-manager":"^10.2.2"},"repository":{"type":"git","url":"git://github.com/angular/jasminewd.git"},"typings":"built/lib/index.d.ts","main":"built/lib/index.js","scripts":{"prepublish":"gulp prepublish","start":"node built/lib/bin.js","webdriver":"webdriver-manager update && webdriver-manager start","test":"jasmine-ts spec/unit/**/*.ts","test:auto":"find lib spec | entr jasmine-ts spec/unit/**/*.ts","testapp":"cd testapp && npm start","test:e2e":"jasmine-ts spec/e2e/**/*.ts"},"jshintConfig":{"esversion":6},"license":"MIT","version":"0.0.2","gitHead":"d7d92a79e7954dd536bc81d8aa1e168e21099ac0","bugs":{"url":"https://github.com/angular/jasminewd/issues"},"_id":"blocking-proxy@0.0.2","_shasum":"f3364b4e5c2b266ba01d69b2a1c96cd89b7680de","_from":".","_npmVersion":"3.10.8","_nodeVersion":"6.9.1","_npmUser":{"name":"anonymous","email":"angular-core+npm@google.com"},"dist":{"shasum":"f3364b4e5c2b266ba01d69b2a1c96cd89b7680de","size":18805,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/blocking-proxy/-/blocking-proxy-0.0.2.tgz"},"maintainers":[{"name":"anonymous","email":"angular-core+npm@google.com"},{"name":"anonymous","email":"craig.nishina@gmail.com"}],"_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/blocking-proxy-0.0.2.tgz_1481676778158_0.20446207583881915"},"directories":{},"publish_time":1481676778800,"_cnpm_publish_time":1481676778800,"_hasShrinkwrap":false,"contributors":[]},"0.0.1":{"name":"blocking-proxy","description":"WebDriver Proxy for testing rich clients. It block certain calls until Angular is done updating the page under test.","homepage":"https://github.com/angular/blocking-proxy","keywords":["test","testing","webdriver","webdriverjs","selenium"],"author":{"name":"Michael Giambalvo","email":"heathkit@google.com"},"dependencies":{"es6-promise":"^4.0.5","minimist":"^1.2.0","selenium-webdriver":"2.53.3"},"devDependencies":{"@types/es6-promise":"0.0.32","@types/jasmine":"^2.2.33","@types/minimist":"^1.1.29","@types/node":"^6.0.45","@types/selenium-webdriver":"~2.53.31","body-parser":"1.14.2","clang-format":"^1.0.34","gulp":"^3.9.1","gulp-clang-format":"^1.0.23","jasmine":"2.3.2","jasmine-ts":"0.0.3","jshint":"2.9.1","run-sequence":"^1.2.2","ts-node":"^1.3.0","typescript":"^2.0.3","webdriver-manager":"^10.2.2"},"repository":{"type":"git","url":"git://github.com/angular/jasminewd.git"},"typings":"built/lib/index.d.ts","main":"built/lib/index.js","scripts":{"prepublish":"gulp prepublish","start":"node built/lib/bin.js","test":"jasmine-ts spec/unit/**/*.ts","test:auto":"find lib spec | entr jasmine-ts spec/unit/**/*.ts","testapp":"node testapp/scripts/web-server.js","test:e2e":"jasmine-ts spec/e2e/**/*.ts"},"jshintConfig":{"esversion":6},"license":"MIT","version":"0.0.1","gitHead":"8899d570bc3b0c932004cb97033f7aae96532e02","bugs":{"url":"https://github.com/angular/jasminewd/issues"},"_id":"blocking-proxy@0.0.1","_shasum":"1f542c25ec7dc291978903c9b43b5e845e12baca","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"anonymous","email":"angular-core+npm@google.com"},"dist":{"shasum":"1f542c25ec7dc291978903c9b43b5e845e12baca","size":10888,"noattachment":false,"tarball":"http://123.232.10.234:8212/nexus/content/groups/npm-public/blocking-proxy/-/blocking-proxy-0.0.1.tgz"},"maintainers":[{"name":"anonymous","email":"angular-core+npm@google.com"},{"name":"anonymous","email":"craig.nishina@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/blocking-proxy-0.0.1.tgz_1477437368417_0.06321975099854171"},"directories":{},"publish_time":1477437368656,"_cnpm_publish_time":1477437368656,"_hasShrinkwrap":false,"contributors":[]}},"dist-tags":{"latest":"1.0.1"},"name":"blocking-proxy","time":{"modified":"2022-03-22T16:52:40.788Z","created":"2022-01-26T14:25:47.805Z","1.0.1":"2017-10-18T21:38:25.843Z","1.0.0":"2017-10-18T20:26:34.995Z","0.0.5":"2017-02-03T23:44:11.167Z","0.0.4":"2017-01-31T09:03:02.605Z","0.0.3":"2017-01-26T03:07:38.225Z","0.0.2":"2016-12-14T00:52:58.800Z","0.0.1":"2016-10-25T23:16:08.656Z"},"readme":"# Blocking Proxy [![Build Status](https://circleci.com/gh/angular/blocking-proxy.svg?style=shield)](https://circleci.com/gh/angular/blocking-proxy)\n\nBlocking Proxy is a tool for adding functionality to WebDriver-based\ntests.  It sits between your tests and the Selenium Server. For each \nWebDriver command, it runs a set of 'barriers' that will block \nforwarding the command to the Selenium server until some condition\nis met.\n\nBecause it interacts with WebDriver at the network level, Blocking Proxy can be\nused regardless of which language your tests are written in. See [the example](https://github.com/angular/blocking-proxy/blob/master/examples/README.md) \nfor a demonstration of using Blocking Proxy with WebDriver tests written in Python.\n\nAlthough Blocking Proxy can handle multiple WebDriver sessions, it can not yet handle\nmultiple concurrent clients. Thus, it's recommended to start a separate instance\nfor each test process.\n\n# Usage\n\nBlocking Proxy can be installed globally with `npm install -g blocking-proxy`.\nYou can also use it by cloning this repo and running these commands:\n\n```\nnpm install\nwebdriver-manager update && webdriver-manager start (in another terminal)\nnode ./built/lib/bin.js --seleniumAddress http://localhost:4444/wd/hub\n```\n\n# Features\n\n## Wait for Angular\n\nWhen testing an Angular application, Blocking Proxy can block webdriver commands\nuntil Angular's change detection is finished, and thus make your tests less flaky.\n\n## Highlight Delay\n\nIf `--highlightDelay <delayMS>` is specified, Blocking Proxy will wait for \nthe specified delay (in milliseconds) before executing click commands or sending \nkeys. It will also highlight the element that is the target of the command.\n\nHere's an example of highlight delay in action:\n\n![Highlight Delay](http://i.giphy.com/jg7B2HHPIkwak.gif)\n\n## WebDriver logging\n\nWhen `--logDir <path>` is set, Blocking Proxy will create a readable log of \nWebDriver commands at the specified path. The log will look something like this:\n\n```\n20:08:14.830 |    834ms | 37f13c | NewSession\n    {\"browserName\":\"chrome\"}\n20:08:15.674 |      4ms | 37f13c | SetTimeouts\n20:08:15.681 |    578ms | 37f13c | Go http://localhost:8081/ng1/#/interaction\n20:08:16.300 |    438ms | 37f13c | FindElement\n    Using css selector \\'.invalid\\'\n    ERROR: no such element\n```\nEach line shows the command that was executed and how long it took. For some\ncommands, extra data or the response from WebDriver will be shown on following\nlines.\n\n# Development\n\n## Formatting and lint\n\n`gulp format` runs clang-format. `gulp lint` validates format and runs tslint.\n\n## Running tests \n\nUnit tests live in `spec/unit` and can be run with `npm test`. Run `npm run test:auto` to automatically watch for changes and run unit tests.\n\n## Running e2e tests\n\nStart webdriver\n\n    webdriver-manager update\n    webdriver-manager start\n\nin another terminal, start the testapp\n\n    npm run testapp \n\nStart the proxy with \n  \n    npm start\n\nin yet another terminal, run the tests\n\n    npm run test:e2e","users":{}}