Skip to content

Commit 455cd6e

Browse files
Added spec for second Page
1 parent e606794 commit 455cd6e

File tree

1 file changed

+110
-18
lines changed

1 file changed

+110
-18
lines changed

test/src/index/transport/testBrowserstackTransport.js

Lines changed: 110 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ describe('BrowserstackTransport', function () {
2828
port: 443
2929
}
3030
});
31-
31+
3232
await client.transport.createSession({argv: undefined, moduleKey: ''});
33-
33+
3434
}, /BrowserStack access key is not set\. Verify that "browserstack\.key" capability is set correctly or set BROWSERSTACK_KEY environment variable \(\.env files are supported\)\./);
3535

3636
assert.rejects(async function() {
@@ -75,9 +75,9 @@ describe('BrowserstackTransport', function () {
7575
}
7676
};
7777
});
78-
78+
7979
nock('https://api.browserstack.com')
80-
.get('/automate/builds.json?status=running')
80+
.get('/automate/builds.json?status=running&limit=20&offset=0')
8181
.reply(200, [
8282
{
8383
automation_build: {
@@ -104,7 +104,7 @@ describe('BrowserstackTransport', function () {
104104
delete process.env['USER'];
105105
delete process.env['KEY'];
106106
});
107-
107+
108108
it('test create Transport for Browserstack - Automate', async function() {
109109
const client = NightwatchClient.client({
110110
webdriver: {
@@ -129,7 +129,7 @@ describe('BrowserstackTransport', function () {
129129
}
130130
};
131131
});
132-
132+
133133
nock('https://api.browserstack.com')
134134
.get('/automate/builds.json?status=running&limit=20&offset=0')
135135
.reply(200, [
@@ -161,7 +161,7 @@ describe('BrowserstackTransport', function () {
161161
assert.strictEqual(transport.username, 'test-access-user');
162162
assert.strictEqual(transport.accessKey, 'test-access-key');
163163
assert.strictEqual(client.settings.webdriver.start_process, false);
164-
164+
165165
nock('https://api.browserstack.com')
166166
.get('/automate/sessions/1234567.json')
167167
.reply(200, {
@@ -206,7 +206,7 @@ describe('BrowserstackTransport', function () {
206206
}
207207
};
208208
});
209-
209+
210210
nock('https://api.browserstack.com')
211211
.get('/automate/builds.json?status=running&limit=20&offset=0')
212212
.reply(200, [
@@ -240,12 +240,12 @@ describe('BrowserstackTransport', function () {
240240
assert.strictEqual(client.settings.webdriver.start_process, false);
241241

242242
let sessionNockCalled = 0;
243-
243+
244244
nock('https://api.browserstack.com')
245245
.get('/automate/sessions/1234567.json')
246246
.reply(200, function () {
247247
sessionNockCalled++;
248-
248+
249249
return {automation_session: {status: 'done'}};
250250
});
251251
nock('https://api.browserstack.com')
@@ -255,7 +255,7 @@ describe('BrowserstackTransport', function () {
255255
})
256256
.reply(200, function () {
257257
sessionNockCalled++;
258-
258+
259259
return {};
260260
});
261261

@@ -323,7 +323,7 @@ describe('BrowserstackTransport', function () {
323323
assert.strictEqual(transport.username, 'test-access-user');
324324
assert.strictEqual(transport.accessKey, 'test-access-key');
325325
assert.strictEqual(client.settings.webdriver.start_process, false);
326-
326+
327327
nock('https://api.browserstack.com')
328328
.get('/app-automate/sessions/1234567.json')
329329
.reply(200, {
@@ -342,7 +342,7 @@ describe('BrowserstackTransport', function () {
342342

343343
assert.strictEqual(transport.buildId, '123-567-89');
344344
});
345-
345+
346346
it('test create Transport for Browserstack - Automate TurboScale', async function() {
347347
const client = NightwatchClient.client({
348348
webdriver: {
@@ -367,7 +367,7 @@ describe('BrowserstackTransport', function () {
367367
}
368368
};
369369
});
370-
370+
371371
nock('https://api.browserstack.com')
372372
.get('/automate-turboscale/v1/builds?status=running&limit=20&offset=0')
373373
.reply(200, {
@@ -400,7 +400,7 @@ describe('BrowserstackTransport', function () {
400400
assert.strictEqual(client.settings.webdriver.start_process, false);
401401

402402
let sessionNockCalled = 0;
403-
403+
404404
nock('https://api.browserstack.com')
405405
.get('/automate-turboscale/v1/sessions/1352110219202')
406406
.reply(200, function(){
@@ -411,7 +411,7 @@ describe('BrowserstackTransport', function () {
411411
nock('https://api.browserstack.com')
412412
.patch('/automate-turboscale/v1/sessions/1352110219202', {
413413
status: 'passed',
414-
reason: ''
414+
reason: ''
415415
})
416416
.reply(200, function(){
417417
sessionNockCalled++;
@@ -489,10 +489,10 @@ describe('BrowserstackTransport', function () {
489489
reason: 'NightwatchAssertError: Timed out while waiting for element <#james> to be present for 5000 milliseconds. - expected "visible" but got: "not found" (5400ms)'
490490
})
491491
.reply(200, {});
492-
492+
493493
const error = new Error('Timed out while waiting for element <#james> to be present for 5000 milliseconds. - expected "visible" but got: "not found" (5400ms)');
494494
error.name = 'NightwatchAssertError';
495-
495+
496496
result = await transport.testSuiteFinished(error);
497497

498498
assert.strictEqual(result, true);
@@ -504,4 +504,96 @@ describe('BrowserstackTransport', function () {
504504
}, 100);
505505
});
506506
});
507+
508+
it('test create Transport for Browserstack - Automate and Check the result in second page', async function() {
509+
const client = NightwatchClient.client({
510+
webdriver: {
511+
host: 'hub-cloud.browserstack.com',
512+
port: 443,
513+
start_process: true
514+
},
515+
desiredCapabilities: {
516+
'browserstack.user': 'test-access-user',
517+
'browserstack.key': 'test-access-key',
518+
browserName: 'chrome'
519+
}
520+
});
521+
522+
nock('https://hub-cloud.browserstack.com')
523+
.post('/wd/hub/session')
524+
.reply(201, function (uri, requestBody) {
525+
return {
526+
value: {
527+
sessionId: '1352110219202',
528+
capabilities: requestBody.capabilities
529+
}
530+
};
531+
});
532+
533+
nock('https://api.browserstack.com')
534+
.get('/automate/builds.json?status=running&limit=20&offset=0')
535+
.reply(200, [
536+
{
537+
automation_build: {
538+
name: 'nightwatch-test',
539+
hashed_id: '123-56'
540+
}
541+
},
542+
{
543+
automation_build: {
544+
name: 'test-build'
545+
}
546+
}
547+
]);
548+
549+
nock('https://api.browserstack.com')
550+
.get('/automate/builds.json?status=running&limit=20&offset=20')
551+
.reply(200, [
552+
{
553+
automation_build: {
554+
name: 'nightwatch-test-build',
555+
hashed_id: '123-567-89'
556+
}
557+
},
558+
{
559+
automation_build: {
560+
name: 'test-build'
561+
}
562+
}
563+
]);
564+
assert.ok(client.transport instanceof Automate);
565+
assert.strictEqual(client.settings.webdriver.host, 'hub-cloud.browserstack.com');
566+
assert.strictEqual(client.settings.webdriver.default_path_prefix, '/wd/hub');
567+
assert.strictEqual(client.settings.webdriver.ssl, true);
568+
569+
const {transport} = client;
570+
assert.ok(transport instanceof SeleniumRemote);
571+
572+
let result = await transport.createSession({argv: undefined, moduleKey: ''});
573+
result.sessionId = '1234567';
574+
client.emit('nightwatch:session.create', result);
575+
576+
assert.strictEqual(transport.username, 'test-access-user');
577+
assert.strictEqual(transport.accessKey, 'test-access-key');
578+
assert.strictEqual(client.settings.webdriver.start_process, false);
579+
580+
nock('https://api.browserstack.com')
581+
.get('/automate/sessions/1234567.json')
582+
.reply(200, {
583+
automation_session: {status: 'done'}
584+
});
585+
nock('https://api.browserstack.com')
586+
.put('/automate/sessions/1234567.json', {
587+
status: 'passed',
588+
reason: ''
589+
})
590+
.reply(200, {});
591+
592+
result = await transport.testSuiteFinished(false);
593+
assert.strictEqual(result, true);
594+
assert.strictEqual(transport.sessionId, null);
595+
596+
assert.strictEqual(transport.buildId, '123-567-89');
597+
598+
});
507599
});

0 commit comments

Comments
 (0)