Skip to content

Commit 1e130af

Browse files
authored
Merge pull request #2 from Ankit098/update_test_script
Update test script
2 parents 33f4c70 + af90623 commit 1e130af

4 files changed

Lines changed: 37 additions & 30 deletions

File tree

conf/local-test.conf.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
const { config: baseConfig }= require("./base.conf.js");
1+
const { config: baseConfig } = require("./base.conf.js");
22

33
const localConfig = {
44
// Adding browserstackLocal to browserstack-service to initiate local binary
5-
services: [['@browserstack/wdio-browserstack-service', { browserstackLocal: true, forcelocal: false }]],
5+
services: [['@browserstack/wdio-browserstack-service', { browserstackLocal: true, forcelocal: false }]],
66
capabilities: [{
77
browserName: 'chrome',
88
build: 'browserstack-build-1'
99
}],
1010
specs: ['./tests/specs/local_test.js']
1111
};
1212

13-
exports.config = {...baseConfig, ...localConfig};
13+
exports.config = { ...baseConfig, ...localConfig };

conf/test.conf.js

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,29 @@
1-
const { config: baseConfig }= require("./base.conf.js");
1+
const { config: baseConfig } = require("./base.conf.js");
22

33
const parallelConfig = {
44
maxInstances: 10,
55
commonCapabilities: {
66
build: 'browserstack-build-1',
77
},
88
capabilities: [{
9-
browserName: 'chrome'
10-
},{
11-
browserName: 'firefox'
12-
},{
13-
browserName: 'internet explorer'
14-
},{
15-
browserName: 'safari'
16-
},{
17-
browserName: 'edge'
9+
browserName: 'chrome',
10+
browserVersion: 'latest',
11+
os: 'Windows',
12+
osVersion: '10'
13+
}, {
14+
browserName: 'safari',
15+
browserVersion: 'latest',
16+
os: 'OS X',
17+
osVersion: 'Big Sur'
18+
}, {
19+
browserName: 'chrome',
20+
device: 'Samsung Galaxy S20'
1821
}],
1922
};
2023

21-
exports.config = {...baseConfig, ...parallelConfig};
24+
exports.config = { ...baseConfig, ...parallelConfig };
2225

2326
// Code to support common capabilities
24-
exports.config.capabilities.forEach(function(caps){
25-
for(var i in exports.config.commonCapabilities) caps[i] = caps[i] || exports.config.commonCapabilities[i];
27+
exports.config.capabilities.forEach(function (caps) {
28+
for (var i in exports.config.commonCapabilities) caps[i] = caps[i] || exports.config.commonCapabilities[i];
2629
});

tests/specs/local_test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
describe('BrowserStack Local Testing', ()=> {
1+
describe('BrowserStack Local Testing', () => {
22
it('can check tunnel working', async () => {
33
await browser.url('http://bs-local.com:45691/check');
44
(await browser.getPageSource()).should.match(/Up and running/i);

tests/specs/test.js

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,23 @@
1-
describe("Google's Search Functionality", () => {
2-
it("can find search results", async () => {
3-
await browser.url("https://www.google.com/ncr");
4-
const inputForm = await $("//input[@name='q']");
5-
await inputForm.setValue(["BrowserStack", "Enter"]); // this helps in majority desktops
6-
7-
try {
8-
await browser.waitUntil(async () => (await browser.getTitle()).match(/BrowserStack/i), { timeout: 5000 });
9-
} catch (e) {
10-
await browser.elementSubmit(inputForm.elementId); // this helps in remaining cases, i.e. iPhone
11-
}
12-
1+
describe("Testing with Bstackdemo", () => {
2+
it("add product to cart", async () => {
3+
await browser.url("https://bstackdemo.com/");
134
await browser.waitUntil(
14-
async () => (await browser.getTitle()).match(/BrowserStack/i),
5+
async () => (await browser.getTitle()).match(/StackDemo/i),
156
5000,
167
"Title didn't match with BrowserStack"
178
);
9+
10+
const productOnScreen = await $('//*[@id="1"]/p');
11+
const productOnScreenText = await productOnScreen.getText();
12+
13+
const addToCart = await $('//*[@id="1"]/div[4]');
14+
await addToCart.click();
15+
16+
const productInCart = await $('//*[@id="__next"]/div/div/div[2]/div[2]/div[2]/div/div[3]/p[1]');
17+
18+
await browser.waitUntil(async () => (
19+
await productInCart.getText()).match(productOnScreenText),
20+
{ timeout: 5000 }
21+
);
1822
});
1923
});

0 commit comments

Comments
 (0)