├── .gitignore
├── .travis.yml
├── README.md
├── conf.js
├── package-lock.json
├── package.json
└── specs
├── invalid_login_spec.js
└── valid_login_spec.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by .ignore support plugin (hsz.mobi)
2 | .idea/
3 | node_modules/
4 | *~
5 | */*~
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | node_js:
3 | - '12.13.0'
4 | env:
5 | global:
6 | - SAUCE_USERNAME=sauce_examples
7 | addons:
8 | jwt:
9 | secure: aVz3Ma2vXC/jY98E5shBuiPE6SR/8SrrLGS4xaxVXh7nsIp03njlGueflPxmZmpgxSYjwGBsWKPwkzi9XjrFqLItti6hcEoe/M7KOL+cYDb/1/4hurHKg4TG3bkOLfr6qKiHbRC+sn/wVfdw4Axfw7slqeFeYD7NVFseuE5GJ7yiRB9My+BTmTsfqS7RHZdWXWxNyA0OmDjoa9XmgdMmd1OL5hn4uk42VYsZgY/zvg2BSFszlNWi9nezySzIwbFJUp1AIOIYNm0+fm8NqWrTA8qX00C1d88jFs18CAaWBSwJvy6bhsDxMKMXEY3E1crr2PhzfkYeI2Ft060qLnuyu0egCk28SACDckBQJmTm2PghtT+NxaSBioWQzFVYAEi0WqIdTPulxGhWiMbhhQLypjBjelhVStyP0BfiXzMzf5v1H5BsLUUZPbJ3Z0ryWFgR1JbqfZzwj0SnpRmz3QIeKyolQPJywgAC0iRdMhpcv4i5vhDNMX1cmu0P5NmXy9ZzwMgzTUyDVf6e/Lu+F8WtMjQA8HAe3SknyD3LGpQqPbULmr4ouP+E2T5cROuVO7r9+xTf+/76BteSMWu25wFGC57jkVas8IizceM+B7iv0CYLGNsB0bGSyWch6GUQiSIzgR/DgtqWo25ZCscP+f6jKUqDu2dd2N107WMEBdevG3o=
10 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | >**NOTE:
**
2 | > This project is not maintained anymore by Sauce Labs
3 |
4 |
5 | ## JS-Protractor-Selenium
6 |
7 | This code is provided on an "AS-IS” basis without warranty of any kind, either express or implied, including without limitation any implied warranties of condition, uninterrupted use, merchantability, fitness for a particular purpose, or non-infringement. Your tests and testing environments may require you to modify this framework. Issues regarding this framework should be submitted through GitHub. For questions regarding Sauce Labs integration, please see the Sauce Labs documentation at https://wiki.saucelabs.com/. This framework is not maintained by Sauce Labs Support.
8 |
9 | ### Environment Setup
10 |
11 | 1. Global Dependencies
12 | * Install [Node.js](https://nodejs.org/en/)
13 | * Or Install Node.js with [Homebrew](http://brew.sh/)
14 | ```
15 | $ brew install node
16 | ```
17 | 2. Sauce Credentials
18 | * In the terminal export your Sauce Labs Credentials as environmental variables:
19 | ```
20 | $ export SAUCE_USERNAME=
21 | $ export SAUCE_ACCESS_KEY=
22 | ```
23 | 3. Project Dependencies
24 | * Install Node modules
25 | ```
26 | $ npm install
27 | ```
28 |
29 | ### Running Tests
30 |
31 | * Tests in Parallel:
32 | ```
33 | $ ./node_modules/.bin/protractor conf.js
34 | ```
35 |
36 | [Sauce Labs Dashboard](https://saucelabs.com/beta/dashboard/)
37 |
38 | ### Advice/Troubleshooting
39 |
40 | 1. There may be additional latency when using a remote webdriver to run tests on Sauce Labs. Timeouts or Waits may need to be increased.
41 | * [Selenium tips regarding explicit waits](https://wiki.saucelabs.com/display/DOCS/Best+Practice%3A+Use+Explicit+Waits)
42 |
43 | ### Resources
44 | ##### [Sauce Labs Documentation](https://wiki.saucelabs.com/)
45 |
46 | ##### [SeleniumHQ Documentation](http://www.seleniumhq.org/docs/)
47 |
48 | ##### [Protractor Documentation](https://angular.github.io/protractor/#/api)
49 |
50 | ##### [Node Documentation](https://nodejs.org/en/docs/)
51 |
52 | ##### [Stack Overflow](http://stackoverflow.com/)
53 | * A great resource to search for issues not explicitly covered by documentation
54 |
--------------------------------------------------------------------------------
/conf.js:
--------------------------------------------------------------------------------
1 | exports.config = {
2 | sauceUser: process.env.SAUCE_USERNAME,
3 | sauceKey: process.env.SAUCE_ACCESS_KEY,
4 | // sauceRegion: 'eu',
5 |
6 | specs: ['specs/*spec.js'],
7 |
8 | onPrepare: function () {
9 | var caps = browser.getCapabilities()
10 | },
11 |
12 | multiCapabilities: [{
13 | browserName: 'firefox',
14 | version: 'latest',
15 | platform: 'OS X 10.13',
16 | name: "firefox-tests",
17 | shardTestFiles: true,
18 | maxInstances: 25
19 | }, {
20 | browserName: 'chrome',
21 | version: 'latest',
22 | platform: 'Windows 10',
23 | name: "chrome-tests",
24 | shardTestFiles: true,
25 | maxInstances: 25
26 | }],
27 |
28 | onComplete: function () {
29 |
30 | var printSessionId = function (jobName) {
31 | browser.getSession().then(function (session) {
32 | console.log('SauceOnDemandSessionID=' + session.getId() + ' job-name=' + jobName);
33 | });
34 | }
35 | }
36 | }
37 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "js-protractor-sample",
3 | "version": "0.2.0",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@types/q": {
8 | "version": "0.0.32",
9 | "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz",
10 | "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=",
11 | "dev": true
12 | },
13 | "@types/selenium-webdriver": {
14 | "version": "3.0.16",
15 | "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz",
16 | "integrity": "sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==",
17 | "dev": true
18 | },
19 | "adm-zip": {
20 | "version": "0.4.13",
21 | "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz",
22 | "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
23 | "dev": true
24 | },
25 | "agent-base": {
26 | "version": "4.3.0",
27 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
28 | "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
29 | "dev": true,
30 | "requires": {
31 | "es6-promisify": "^5.0.0"
32 | }
33 | },
34 | "ajv": {
35 | "version": "6.10.2",
36 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
37 | "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
38 | "dev": true,
39 | "requires": {
40 | "fast-deep-equal": "^2.0.1",
41 | "fast-json-stable-stringify": "^2.0.0",
42 | "json-schema-traverse": "^0.4.1",
43 | "uri-js": "^4.2.2"
44 | }
45 | },
46 | "ansi-regex": {
47 | "version": "2.1.1",
48 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
49 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
50 | "dev": true
51 | },
52 | "ansi-styles": {
53 | "version": "2.2.1",
54 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
55 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
56 | "dev": true
57 | },
58 | "array-union": {
59 | "version": "1.0.2",
60 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
61 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
62 | "dev": true,
63 | "requires": {
64 | "array-uniq": "^1.0.1"
65 | }
66 | },
67 | "array-uniq": {
68 | "version": "1.0.3",
69 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
70 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
71 | "dev": true
72 | },
73 | "arrify": {
74 | "version": "1.0.1",
75 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
76 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
77 | "dev": true
78 | },
79 | "asn1": {
80 | "version": "0.2.4",
81 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
82 | "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
83 | "dev": true,
84 | "requires": {
85 | "safer-buffer": "~2.1.0"
86 | }
87 | },
88 | "assert-plus": {
89 | "version": "1.0.0",
90 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
91 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
92 | "dev": true
93 | },
94 | "assertion-error": {
95 | "version": "1.1.0",
96 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz",
97 | "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
98 | "dev": true
99 | },
100 | "asynckit": {
101 | "version": "0.4.0",
102 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
103 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
104 | "dev": true
105 | },
106 | "aws-sign2": {
107 | "version": "0.7.0",
108 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
109 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
110 | "dev": true
111 | },
112 | "aws4": {
113 | "version": "1.8.0",
114 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
115 | "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
116 | "dev": true
117 | },
118 | "balanced-match": {
119 | "version": "1.0.0",
120 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
121 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
122 | "dev": true
123 | },
124 | "bcrypt-pbkdf": {
125 | "version": "1.0.2",
126 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
127 | "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
128 | "dev": true,
129 | "requires": {
130 | "tweetnacl": "^0.14.3"
131 | }
132 | },
133 | "blocking-proxy": {
134 | "version": "1.0.1",
135 | "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz",
136 | "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==",
137 | "dev": true,
138 | "requires": {
139 | "minimist": "^1.2.0"
140 | }
141 | },
142 | "brace-expansion": {
143 | "version": "1.1.11",
144 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
145 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
146 | "dev": true,
147 | "requires": {
148 | "balanced-match": "^1.0.0",
149 | "concat-map": "0.0.1"
150 | }
151 | },
152 | "browserstack": {
153 | "version": "1.5.3",
154 | "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.3.tgz",
155 | "integrity": "sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg==",
156 | "dev": true,
157 | "requires": {
158 | "https-proxy-agent": "^2.2.1"
159 | },
160 | "dependencies": {
161 | "https-proxy-agent": {
162 | "version": "2.2.3",
163 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.3.tgz",
164 | "integrity": "sha512-Ytgnz23gm2DVftnzqRRz2dOXZbGd2uiajSw/95bPp6v53zPRspQjLm/AfBgqbJ2qfeRXWIOMVLpp86+/5yX39Q==",
165 | "dev": true,
166 | "requires": {
167 | "agent-base": "^4.3.0",
168 | "debug": "^3.1.0"
169 | }
170 | }
171 | }
172 | },
173 | "caseless": {
174 | "version": "0.12.0",
175 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
176 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
177 | "dev": true
178 | },
179 | "chai": {
180 | "version": "4.2.0",
181 | "resolved": "https://registry.npmjs.org/chai/-/chai-4.2.0.tgz",
182 | "integrity": "sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw==",
183 | "dev": true,
184 | "requires": {
185 | "assertion-error": "^1.1.0",
186 | "check-error": "^1.0.2",
187 | "deep-eql": "^3.0.1",
188 | "get-func-name": "^2.0.0",
189 | "pathval": "^1.1.0",
190 | "type-detect": "^4.0.5"
191 | }
192 | },
193 | "chalk": {
194 | "version": "1.1.3",
195 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
196 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
197 | "dev": true,
198 | "requires": {
199 | "ansi-styles": "^2.2.1",
200 | "escape-string-regexp": "^1.0.2",
201 | "has-ansi": "^2.0.0",
202 | "strip-ansi": "^3.0.0",
203 | "supports-color": "^2.0.0"
204 | }
205 | },
206 | "check-error": {
207 | "version": "1.0.2",
208 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz",
209 | "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=",
210 | "dev": true
211 | },
212 | "combined-stream": {
213 | "version": "1.0.8",
214 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
215 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
216 | "dev": true,
217 | "requires": {
218 | "delayed-stream": "~1.0.0"
219 | }
220 | },
221 | "concat-map": {
222 | "version": "0.0.1",
223 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
224 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
225 | "dev": true
226 | },
227 | "core-util-is": {
228 | "version": "1.0.2",
229 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
230 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
231 | "dev": true
232 | },
233 | "dashdash": {
234 | "version": "1.14.1",
235 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
236 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
237 | "dev": true,
238 | "requires": {
239 | "assert-plus": "^1.0.0"
240 | }
241 | },
242 | "debug": {
243 | "version": "3.2.6",
244 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
245 | "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
246 | "dev": true,
247 | "requires": {
248 | "ms": "^2.1.1"
249 | }
250 | },
251 | "deep-eql": {
252 | "version": "3.0.1",
253 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz",
254 | "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==",
255 | "dev": true,
256 | "requires": {
257 | "type-detect": "^4.0.0"
258 | }
259 | },
260 | "define-properties": {
261 | "version": "1.1.3",
262 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
263 | "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
264 | "dev": true,
265 | "requires": {
266 | "object-keys": "^1.0.12"
267 | }
268 | },
269 | "del": {
270 | "version": "2.2.2",
271 | "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz",
272 | "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=",
273 | "dev": true,
274 | "requires": {
275 | "globby": "^5.0.0",
276 | "is-path-cwd": "^1.0.0",
277 | "is-path-in-cwd": "^1.0.0",
278 | "object-assign": "^4.0.1",
279 | "pify": "^2.0.0",
280 | "pinkie-promise": "^2.0.0",
281 | "rimraf": "^2.2.8"
282 | }
283 | },
284 | "delayed-stream": {
285 | "version": "1.0.0",
286 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
287 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
288 | "dev": true
289 | },
290 | "ecc-jsbn": {
291 | "version": "0.1.2",
292 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
293 | "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
294 | "dev": true,
295 | "requires": {
296 | "jsbn": "~0.1.0",
297 | "safer-buffer": "^2.1.0"
298 | }
299 | },
300 | "es-abstract": {
301 | "version": "1.16.0",
302 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.0.tgz",
303 | "integrity": "sha512-xdQnfykZ9JMEiasTAJZJdMWCQ1Vm00NBw79/AWi7ELfZuuPCSOMDZbT9mkOfSctVtfhb+sAAzrm+j//GjjLHLg==",
304 | "dev": true,
305 | "requires": {
306 | "es-to-primitive": "^1.2.0",
307 | "function-bind": "^1.1.1",
308 | "has": "^1.0.3",
309 | "has-symbols": "^1.0.0",
310 | "is-callable": "^1.1.4",
311 | "is-regex": "^1.0.4",
312 | "object-inspect": "^1.6.0",
313 | "object-keys": "^1.1.1",
314 | "string.prototype.trimleft": "^2.1.0",
315 | "string.prototype.trimright": "^2.1.0"
316 | }
317 | },
318 | "es-to-primitive": {
319 | "version": "1.2.0",
320 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
321 | "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
322 | "dev": true,
323 | "requires": {
324 | "is-callable": "^1.1.4",
325 | "is-date-object": "^1.0.1",
326 | "is-symbol": "^1.0.2"
327 | }
328 | },
329 | "es6-promise": {
330 | "version": "4.2.8",
331 | "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
332 | "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==",
333 | "dev": true
334 | },
335 | "es6-promisify": {
336 | "version": "5.0.0",
337 | "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
338 | "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
339 | "dev": true,
340 | "requires": {
341 | "es6-promise": "^4.0.3"
342 | }
343 | },
344 | "escape-string-regexp": {
345 | "version": "1.0.5",
346 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
347 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
348 | "dev": true
349 | },
350 | "exit": {
351 | "version": "0.1.2",
352 | "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
353 | "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
354 | "dev": true
355 | },
356 | "extend": {
357 | "version": "3.0.2",
358 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
359 | "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
360 | "dev": true
361 | },
362 | "extsprintf": {
363 | "version": "1.3.0",
364 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
365 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
366 | "dev": true
367 | },
368 | "fast-deep-equal": {
369 | "version": "2.0.1",
370 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
371 | "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
372 | "dev": true
373 | },
374 | "fast-json-stable-stringify": {
375 | "version": "2.0.0",
376 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
377 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
378 | "dev": true
379 | },
380 | "forever-agent": {
381 | "version": "0.6.1",
382 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
383 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
384 | "dev": true
385 | },
386 | "form-data": {
387 | "version": "2.3.3",
388 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
389 | "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
390 | "dev": true,
391 | "requires": {
392 | "asynckit": "^0.4.0",
393 | "combined-stream": "^1.0.6",
394 | "mime-types": "^2.1.12"
395 | }
396 | },
397 | "fs.realpath": {
398 | "version": "1.0.0",
399 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
400 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
401 | "dev": true
402 | },
403 | "function-bind": {
404 | "version": "1.1.1",
405 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
406 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
407 | "dev": true
408 | },
409 | "get-func-name": {
410 | "version": "2.0.0",
411 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz",
412 | "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=",
413 | "dev": true
414 | },
415 | "getpass": {
416 | "version": "0.1.7",
417 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
418 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
419 | "dev": true,
420 | "requires": {
421 | "assert-plus": "^1.0.0"
422 | }
423 | },
424 | "glob": {
425 | "version": "7.1.5",
426 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
427 | "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==",
428 | "dev": true,
429 | "requires": {
430 | "fs.realpath": "^1.0.0",
431 | "inflight": "^1.0.4",
432 | "inherits": "2",
433 | "minimatch": "^3.0.4",
434 | "once": "^1.3.0",
435 | "path-is-absolute": "^1.0.0"
436 | }
437 | },
438 | "globby": {
439 | "version": "5.0.0",
440 | "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
441 | "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=",
442 | "dev": true,
443 | "requires": {
444 | "array-union": "^1.0.1",
445 | "arrify": "^1.0.0",
446 | "glob": "^7.0.3",
447 | "object-assign": "^4.0.1",
448 | "pify": "^2.0.0",
449 | "pinkie-promise": "^2.0.0"
450 | }
451 | },
452 | "har-schema": {
453 | "version": "2.0.0",
454 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
455 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
456 | "dev": true
457 | },
458 | "har-validator": {
459 | "version": "5.1.3",
460 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
461 | "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
462 | "dev": true,
463 | "requires": {
464 | "ajv": "^6.5.5",
465 | "har-schema": "^2.0.0"
466 | }
467 | },
468 | "has": {
469 | "version": "1.0.3",
470 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
471 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
472 | "dev": true,
473 | "requires": {
474 | "function-bind": "^1.1.1"
475 | }
476 | },
477 | "has-ansi": {
478 | "version": "2.0.0",
479 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
480 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
481 | "dev": true,
482 | "requires": {
483 | "ansi-regex": "^2.0.0"
484 | }
485 | },
486 | "has-symbols": {
487 | "version": "1.0.0",
488 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
489 | "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
490 | "dev": true
491 | },
492 | "http-signature": {
493 | "version": "1.2.0",
494 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
495 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
496 | "dev": true,
497 | "requires": {
498 | "assert-plus": "^1.0.0",
499 | "jsprim": "^1.2.2",
500 | "sshpk": "^1.7.0"
501 | }
502 | },
503 | "https-proxy-agent": {
504 | "version": "3.0.1",
505 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-3.0.1.tgz",
506 | "integrity": "sha512-+ML2Rbh6DAuee7d07tYGEKOEi2voWPUGan+ExdPbPW6Z3svq+JCqr0v8WmKPOkz1vOVykPCBSuobe7G8GJUtVg==",
507 | "dev": true,
508 | "requires": {
509 | "agent-base": "^4.3.0",
510 | "debug": "^3.1.0"
511 | }
512 | },
513 | "immediate": {
514 | "version": "3.0.6",
515 | "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
516 | "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
517 | "dev": true
518 | },
519 | "inflight": {
520 | "version": "1.0.6",
521 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
522 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
523 | "dev": true,
524 | "requires": {
525 | "once": "^1.3.0",
526 | "wrappy": "1"
527 | }
528 | },
529 | "inherits": {
530 | "version": "2.0.4",
531 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
532 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
533 | "dev": true
534 | },
535 | "ini": {
536 | "version": "1.3.5",
537 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
538 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
539 | "dev": true
540 | },
541 | "is-callable": {
542 | "version": "1.1.4",
543 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
544 | "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
545 | "dev": true
546 | },
547 | "is-date-object": {
548 | "version": "1.0.1",
549 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
550 | "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
551 | "dev": true
552 | },
553 | "is-path-cwd": {
554 | "version": "1.0.0",
555 | "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
556 | "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=",
557 | "dev": true
558 | },
559 | "is-path-in-cwd": {
560 | "version": "1.0.1",
561 | "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz",
562 | "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==",
563 | "dev": true,
564 | "requires": {
565 | "is-path-inside": "^1.0.0"
566 | }
567 | },
568 | "is-path-inside": {
569 | "version": "1.0.1",
570 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz",
571 | "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=",
572 | "dev": true,
573 | "requires": {
574 | "path-is-inside": "^1.0.1"
575 | }
576 | },
577 | "is-regex": {
578 | "version": "1.0.4",
579 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
580 | "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
581 | "dev": true,
582 | "requires": {
583 | "has": "^1.0.1"
584 | }
585 | },
586 | "is-symbol": {
587 | "version": "1.0.2",
588 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
589 | "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
590 | "dev": true,
591 | "requires": {
592 | "has-symbols": "^1.0.0"
593 | }
594 | },
595 | "is-typedarray": {
596 | "version": "1.0.0",
597 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
598 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
599 | "dev": true
600 | },
601 | "isarray": {
602 | "version": "1.0.0",
603 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
604 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
605 | "dev": true
606 | },
607 | "isstream": {
608 | "version": "0.1.2",
609 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
610 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
611 | "dev": true
612 | },
613 | "jasmine": {
614 | "version": "2.8.0",
615 | "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
616 | "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
617 | "dev": true,
618 | "requires": {
619 | "exit": "^0.1.2",
620 | "glob": "^7.0.6",
621 | "jasmine-core": "~2.8.0"
622 | }
623 | },
624 | "jasmine-core": {
625 | "version": "2.8.0",
626 | "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
627 | "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
628 | "dev": true
629 | },
630 | "jasminewd2": {
631 | "version": "2.2.0",
632 | "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz",
633 | "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=",
634 | "dev": true
635 | },
636 | "jsbn": {
637 | "version": "0.1.1",
638 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
639 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
640 | "dev": true
641 | },
642 | "json-schema": {
643 | "version": "0.2.3",
644 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
645 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
646 | "dev": true
647 | },
648 | "json-schema-traverse": {
649 | "version": "0.4.1",
650 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
651 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
652 | "dev": true
653 | },
654 | "json-stringify-safe": {
655 | "version": "5.0.1",
656 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
657 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
658 | "dev": true
659 | },
660 | "jsprim": {
661 | "version": "1.4.1",
662 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
663 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
664 | "dev": true,
665 | "requires": {
666 | "assert-plus": "1.0.0",
667 | "extsprintf": "1.3.0",
668 | "json-schema": "0.2.3",
669 | "verror": "1.10.0"
670 | }
671 | },
672 | "jszip": {
673 | "version": "3.2.2",
674 | "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz",
675 | "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==",
676 | "dev": true,
677 | "requires": {
678 | "lie": "~3.3.0",
679 | "pako": "~1.0.2",
680 | "readable-stream": "~2.3.6",
681 | "set-immediate-shim": "~1.0.1"
682 | }
683 | },
684 | "lie": {
685 | "version": "3.3.0",
686 | "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz",
687 | "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==",
688 | "dev": true,
689 | "requires": {
690 | "immediate": "~3.0.5"
691 | }
692 | },
693 | "mime-db": {
694 | "version": "1.40.0",
695 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
696 | "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
697 | "dev": true
698 | },
699 | "mime-types": {
700 | "version": "2.1.24",
701 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
702 | "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
703 | "dev": true,
704 | "requires": {
705 | "mime-db": "1.40.0"
706 | }
707 | },
708 | "minimatch": {
709 | "version": "3.0.4",
710 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
711 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
712 | "dev": true,
713 | "requires": {
714 | "brace-expansion": "^1.1.7"
715 | }
716 | },
717 | "minimist": {
718 | "version": "1.2.0",
719 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
720 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
721 | "dev": true
722 | },
723 | "ms": {
724 | "version": "2.1.2",
725 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
726 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
727 | "dev": true
728 | },
729 | "oauth-sign": {
730 | "version": "0.9.0",
731 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
732 | "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
733 | "dev": true
734 | },
735 | "object-assign": {
736 | "version": "4.1.1",
737 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
738 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
739 | "dev": true
740 | },
741 | "object-inspect": {
742 | "version": "1.6.0",
743 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
744 | "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
745 | "dev": true
746 | },
747 | "object-keys": {
748 | "version": "1.1.1",
749 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
750 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
751 | "dev": true
752 | },
753 | "object.getownpropertydescriptors": {
754 | "version": "2.0.3",
755 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz",
756 | "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=",
757 | "dev": true,
758 | "requires": {
759 | "define-properties": "^1.1.2",
760 | "es-abstract": "^1.5.1"
761 | }
762 | },
763 | "once": {
764 | "version": "1.4.0",
765 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
766 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
767 | "dev": true,
768 | "requires": {
769 | "wrappy": "1"
770 | }
771 | },
772 | "optimist": {
773 | "version": "0.6.1",
774 | "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
775 | "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
776 | "dev": true,
777 | "requires": {
778 | "minimist": "~0.0.1",
779 | "wordwrap": "~0.0.2"
780 | },
781 | "dependencies": {
782 | "minimist": {
783 | "version": "0.0.10",
784 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
785 | "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
786 | "dev": true
787 | }
788 | }
789 | },
790 | "os-tmpdir": {
791 | "version": "1.0.2",
792 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
793 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
794 | "dev": true
795 | },
796 | "pako": {
797 | "version": "1.0.10",
798 | "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.10.tgz",
799 | "integrity": "sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw==",
800 | "dev": true
801 | },
802 | "path-is-absolute": {
803 | "version": "1.0.1",
804 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
805 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
806 | "dev": true
807 | },
808 | "path-is-inside": {
809 | "version": "1.0.2",
810 | "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
811 | "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=",
812 | "dev": true
813 | },
814 | "pathval": {
815 | "version": "1.1.0",
816 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz",
817 | "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=",
818 | "dev": true
819 | },
820 | "performance-now": {
821 | "version": "2.1.0",
822 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
823 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
824 | "dev": true
825 | },
826 | "pify": {
827 | "version": "2.3.0",
828 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
829 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
830 | "dev": true
831 | },
832 | "pinkie": {
833 | "version": "2.0.4",
834 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
835 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
836 | "dev": true
837 | },
838 | "pinkie-promise": {
839 | "version": "2.0.1",
840 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
841 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
842 | "dev": true,
843 | "requires": {
844 | "pinkie": "^2.0.0"
845 | }
846 | },
847 | "process-nextick-args": {
848 | "version": "2.0.1",
849 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
850 | "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
851 | "dev": true
852 | },
853 | "protractor": {
854 | "version": "5.4.2",
855 | "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.2.tgz",
856 | "integrity": "sha512-zlIj64Cr6IOWP7RwxVeD8O4UskLYPoyIcg0HboWJL9T79F1F0VWtKkGTr/9GN6BKL+/Q/GmM7C9kFVCfDbP5sA==",
857 | "dev": true,
858 | "requires": {
859 | "@types/q": "^0.0.32",
860 | "@types/selenium-webdriver": "^3.0.0",
861 | "blocking-proxy": "^1.0.0",
862 | "browserstack": "^1.5.1",
863 | "chalk": "^1.1.3",
864 | "glob": "^7.0.3",
865 | "jasmine": "2.8.0",
866 | "jasminewd2": "^2.1.0",
867 | "optimist": "~0.6.0",
868 | "q": "1.4.1",
869 | "saucelabs": "^1.5.0",
870 | "selenium-webdriver": "3.6.0",
871 | "source-map-support": "~0.4.0",
872 | "webdriver-js-extender": "2.1.0",
873 | "webdriver-manager": "^12.0.6"
874 | },
875 | "dependencies": {
876 | "webdriver-manager": {
877 | "version": "12.1.7",
878 | "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz",
879 | "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==",
880 | "dev": true,
881 | "requires": {
882 | "adm-zip": "^0.4.9",
883 | "chalk": "^1.1.1",
884 | "del": "^2.2.0",
885 | "glob": "^7.0.3",
886 | "ini": "^1.3.4",
887 | "minimist": "^1.2.0",
888 | "q": "^1.4.1",
889 | "request": "^2.87.0",
890 | "rimraf": "^2.5.2",
891 | "semver": "^5.3.0",
892 | "xml2js": "^0.4.17"
893 | }
894 | }
895 | }
896 | },
897 | "psl": {
898 | "version": "1.4.0",
899 | "resolved": "https://registry.npmjs.org/psl/-/psl-1.4.0.tgz",
900 | "integrity": "sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw==",
901 | "dev": true
902 | },
903 | "punycode": {
904 | "version": "2.1.1",
905 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
906 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
907 | "dev": true
908 | },
909 | "q": {
910 | "version": "1.4.1",
911 | "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
912 | "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=",
913 | "dev": true
914 | },
915 | "qs": {
916 | "version": "6.5.2",
917 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
918 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
919 | "dev": true
920 | },
921 | "readable-stream": {
922 | "version": "2.3.6",
923 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
924 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
925 | "dev": true,
926 | "requires": {
927 | "core-util-is": "~1.0.0",
928 | "inherits": "~2.0.3",
929 | "isarray": "~1.0.0",
930 | "process-nextick-args": "~2.0.0",
931 | "safe-buffer": "~5.1.1",
932 | "string_decoder": "~1.1.1",
933 | "util-deprecate": "~1.0.1"
934 | }
935 | },
936 | "request": {
937 | "version": "2.88.0",
938 | "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
939 | "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
940 | "dev": true,
941 | "requires": {
942 | "aws-sign2": "~0.7.0",
943 | "aws4": "^1.8.0",
944 | "caseless": "~0.12.0",
945 | "combined-stream": "~1.0.6",
946 | "extend": "~3.0.2",
947 | "forever-agent": "~0.6.1",
948 | "form-data": "~2.3.2",
949 | "har-validator": "~5.1.0",
950 | "http-signature": "~1.2.0",
951 | "is-typedarray": "~1.0.0",
952 | "isstream": "~0.1.2",
953 | "json-stringify-safe": "~5.0.1",
954 | "mime-types": "~2.1.19",
955 | "oauth-sign": "~0.9.0",
956 | "performance-now": "^2.1.0",
957 | "qs": "~6.5.2",
958 | "safe-buffer": "^5.1.2",
959 | "tough-cookie": "~2.4.3",
960 | "tunnel-agent": "^0.6.0",
961 | "uuid": "^3.3.2"
962 | }
963 | },
964 | "rimraf": {
965 | "version": "2.7.1",
966 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
967 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
968 | "dev": true,
969 | "requires": {
970 | "glob": "^7.1.3"
971 | }
972 | },
973 | "safe-buffer": {
974 | "version": "5.1.2",
975 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
976 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
977 | "dev": true
978 | },
979 | "safer-buffer": {
980 | "version": "2.1.2",
981 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
982 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
983 | "dev": true
984 | },
985 | "saucelabs": {
986 | "version": "1.5.0",
987 | "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
988 | "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
989 | "dev": true,
990 | "requires": {
991 | "https-proxy-agent": "^2.2.1"
992 | },
993 | "dependencies": {
994 | "https-proxy-agent": {
995 | "version": "2.2.3",
996 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.3.tgz",
997 | "integrity": "sha512-Ytgnz23gm2DVftnzqRRz2dOXZbGd2uiajSw/95bPp6v53zPRspQjLm/AfBgqbJ2qfeRXWIOMVLpp86+/5yX39Q==",
998 | "dev": true,
999 | "requires": {
1000 | "agent-base": "^4.3.0",
1001 | "debug": "^3.1.0"
1002 | }
1003 | }
1004 | }
1005 | },
1006 | "sax": {
1007 | "version": "1.2.4",
1008 | "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
1009 | "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
1010 | "dev": true
1011 | },
1012 | "selenium-webdriver": {
1013 | "version": "3.6.0",
1014 | "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz",
1015 | "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==",
1016 | "dev": true,
1017 | "requires": {
1018 | "jszip": "^3.1.3",
1019 | "rimraf": "^2.5.4",
1020 | "tmp": "0.0.30",
1021 | "xml2js": "^0.4.17"
1022 | }
1023 | },
1024 | "semver": {
1025 | "version": "5.7.1",
1026 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
1027 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
1028 | "dev": true
1029 | },
1030 | "set-immediate-shim": {
1031 | "version": "1.0.1",
1032 | "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz",
1033 | "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=",
1034 | "dev": true
1035 | },
1036 | "source-map": {
1037 | "version": "0.5.7",
1038 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1039 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1040 | "dev": true
1041 | },
1042 | "source-map-support": {
1043 | "version": "0.4.18",
1044 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
1045 | "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
1046 | "dev": true,
1047 | "requires": {
1048 | "source-map": "^0.5.6"
1049 | }
1050 | },
1051 | "sshpk": {
1052 | "version": "1.16.1",
1053 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
1054 | "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
1055 | "dev": true,
1056 | "requires": {
1057 | "asn1": "~0.2.3",
1058 | "assert-plus": "^1.0.0",
1059 | "bcrypt-pbkdf": "^1.0.0",
1060 | "dashdash": "^1.12.0",
1061 | "ecc-jsbn": "~0.1.1",
1062 | "getpass": "^0.1.1",
1063 | "jsbn": "~0.1.0",
1064 | "safer-buffer": "^2.0.2",
1065 | "tweetnacl": "~0.14.0"
1066 | }
1067 | },
1068 | "string.prototype.trimleft": {
1069 | "version": "2.1.0",
1070 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
1071 | "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
1072 | "dev": true,
1073 | "requires": {
1074 | "define-properties": "^1.1.3",
1075 | "function-bind": "^1.1.1"
1076 | }
1077 | },
1078 | "string.prototype.trimright": {
1079 | "version": "2.1.0",
1080 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
1081 | "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
1082 | "dev": true,
1083 | "requires": {
1084 | "define-properties": "^1.1.3",
1085 | "function-bind": "^1.1.1"
1086 | }
1087 | },
1088 | "string_decoder": {
1089 | "version": "1.1.1",
1090 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
1091 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
1092 | "dev": true,
1093 | "requires": {
1094 | "safe-buffer": "~5.1.0"
1095 | }
1096 | },
1097 | "strip-ansi": {
1098 | "version": "3.0.1",
1099 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1100 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1101 | "dev": true,
1102 | "requires": {
1103 | "ansi-regex": "^2.0.0"
1104 | }
1105 | },
1106 | "supports-color": {
1107 | "version": "2.0.0",
1108 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1109 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1110 | "dev": true
1111 | },
1112 | "tmp": {
1113 | "version": "0.0.30",
1114 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
1115 | "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
1116 | "dev": true,
1117 | "requires": {
1118 | "os-tmpdir": "~1.0.1"
1119 | }
1120 | },
1121 | "tough-cookie": {
1122 | "version": "2.4.3",
1123 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
1124 | "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
1125 | "dev": true,
1126 | "requires": {
1127 | "psl": "^1.1.24",
1128 | "punycode": "^1.4.1"
1129 | },
1130 | "dependencies": {
1131 | "punycode": {
1132 | "version": "1.4.1",
1133 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
1134 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
1135 | "dev": true
1136 | }
1137 | }
1138 | },
1139 | "tunnel-agent": {
1140 | "version": "0.6.0",
1141 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1142 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1143 | "dev": true,
1144 | "requires": {
1145 | "safe-buffer": "^5.0.1"
1146 | }
1147 | },
1148 | "tweetnacl": {
1149 | "version": "0.14.5",
1150 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1151 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
1152 | "dev": true
1153 | },
1154 | "type-detect": {
1155 | "version": "4.0.8",
1156 | "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
1157 | "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
1158 | "dev": true
1159 | },
1160 | "uri-js": {
1161 | "version": "4.2.2",
1162 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
1163 | "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
1164 | "dev": true,
1165 | "requires": {
1166 | "punycode": "^2.1.0"
1167 | }
1168 | },
1169 | "util-deprecate": {
1170 | "version": "1.0.2",
1171 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1172 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
1173 | "dev": true
1174 | },
1175 | "util.promisify": {
1176 | "version": "1.0.0",
1177 | "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz",
1178 | "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==",
1179 | "dev": true,
1180 | "requires": {
1181 | "define-properties": "^1.1.2",
1182 | "object.getownpropertydescriptors": "^2.0.3"
1183 | }
1184 | },
1185 | "uuid": {
1186 | "version": "3.3.3",
1187 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz",
1188 | "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
1189 | "dev": true
1190 | },
1191 | "verror": {
1192 | "version": "1.10.0",
1193 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1194 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1195 | "dev": true,
1196 | "requires": {
1197 | "assert-plus": "^1.0.0",
1198 | "core-util-is": "1.0.2",
1199 | "extsprintf": "^1.2.0"
1200 | }
1201 | },
1202 | "webdriver-js-extender": {
1203 | "version": "2.1.0",
1204 | "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz",
1205 | "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==",
1206 | "dev": true,
1207 | "requires": {
1208 | "@types/selenium-webdriver": "^3.0.0",
1209 | "selenium-webdriver": "^3.0.1"
1210 | }
1211 | },
1212 | "wordwrap": {
1213 | "version": "0.0.3",
1214 | "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
1215 | "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
1216 | "dev": true
1217 | },
1218 | "wrappy": {
1219 | "version": "1.0.2",
1220 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1221 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1222 | "dev": true
1223 | },
1224 | "xml2js": {
1225 | "version": "0.4.22",
1226 | "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.22.tgz",
1227 | "integrity": "sha512-MWTbxAQqclRSTnehWWe5nMKzI3VmJ8ltiJEco8akcC6j3miOhjjfzKum5sId+CWhfxdOs/1xauYr8/ZDBtQiRw==",
1228 | "dev": true,
1229 | "requires": {
1230 | "sax": ">=0.6.0",
1231 | "util.promisify": "~1.0.0",
1232 | "xmlbuilder": "~11.0.0"
1233 | }
1234 | },
1235 | "xmlbuilder": {
1236 | "version": "11.0.1",
1237 | "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
1238 | "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
1239 | "dev": true
1240 | }
1241 | }
1242 | }
1243 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "js-protractor-sample",
3 | "version": "0.2.0",
4 | "description": "Sample framework for using Sauce Labs with Protractor",
5 | "main": "",
6 | "scripts": {
7 | "test": "./node_modules/.bin/protractor conf.js"
8 | },
9 | "devDependencies": {
10 | "protractor": "^5.4.2",
11 | "https-proxy-agent": "latest",
12 | "chai": "^4.2.0"
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/specs/invalid_login_spec.js:
--------------------------------------------------------------------------------
1 | const expect = require('chai').expect;
2 |
3 | describe('Invalid login', () => {
4 | it('should not be able to login successfully', async () => {
5 | browser.ignoreSynchronization = true;
6 | await browser.get('https://www.saucedemo.com');
7 |
8 | await element(by.id('user-name')).sendKeys('locked_out_user');
9 | await element(by.id('password')).sendKeys('secret_sauce');
10 | await element(by.css('.btn_action')).click();
11 |
12 | expect(await element(by.css('.error-button')).isDisplayed()).to.be.true;
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/specs/valid_login_spec.js:
--------------------------------------------------------------------------------
1 | const expect = require('chai').expect;
2 |
3 | describe('Valid login', () => {
4 | it('should be able to login successfully', async () => {
5 | browser.ignoreSynchronization = true;
6 | await browser.get('https://www.saucedemo.com');
7 |
8 | await element(by.id('user-name')).sendKeys('standard_user');
9 | await element(by.id('password')).sendKeys('secret_sauce');
10 | await element(by.css('.btn_action')).click()
11 |
12 | const currentUrl = await browser.getCurrentUrl();
13 | expect(currentUrl.includes("inventory")).to.be.true;
14 | });
15 | });
--------------------------------------------------------------------------------