Skip to content

Commit ac2b9b6

Browse files
authored
Merge pull request #206 from roshan04/CYP_886_support_os_agnostic_tests
handled case for agnostic sessions with browser flag
2 parents a33eec2 + 665a929 commit ac2b9b6

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

bin/helpers/capabilityHelper.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const caps = (bsConfig, zip) => {
2323
if (bsConfig.browsers) {
2424
bsConfig.browsers.forEach((element) => {
2525
osBrowser = element.os + "-" + element.browser;
26-
osAndBrowser = element.os + " / " + Utils.capitalizeFirstLetter(element.browser);
26+
osAndBrowser = (element.os) ? element.os : "Any OS" + " / " + Utils.capitalizeFirstLetter(element.browser);
2727
element.versions.forEach((version) => {
2828
osBrowserArray.push(osBrowser + version);
2929
browsersList.push(`${osAndBrowser} (${version})`);

bin/helpers/utils.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ exports.setBrowsers = async (bsConfig, args) => {
891891
browsersList.forEach((browser)=>{
892892
let browserHash = {}
893893
let osBrowserDetails = browser.split(':')
894-
browserHash['os'] = osBrowserDetails[1].trim()
894+
if (!this.isUndefined(osBrowserDetails[1])) browserHash['os'] = osBrowserDetails[1].trim()
895895
let browserDetails = osBrowserDetails[0].split('@')
896896
browserHash['browser'] = browserDetails[0].trim()
897897
browserHash['versions'] = []

test/unit/bin/helpers/utils.js

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2502,6 +2502,61 @@ describe('utils', () => {
25022502
await utils.setBrowsers(bsConfig, args);
25032503
expect(bsConfig.browsers).to.be.eql(browserResult);
25042504
});
2505+
it('the args browser should not return exception if os is empty string', async () => {
2506+
let bsConfig = {
2507+
browsers: [
2508+
{
2509+
browser: 'chrome',
2510+
os: 'Windows 10',
2511+
versions: ['latest', 'latest-1'],
2512+
},
2513+
{
2514+
browser: 'chrome',
2515+
os: 'Windows 10',
2516+
versions: ['latest', 'latest-1'],
2517+
},
2518+
],
2519+
};
2520+
let browserResult = [
2521+
{
2522+
browser: 'chrome',
2523+
os: '',
2524+
versions: ['latest-1'],
2525+
}
2526+
];
2527+
let args = {
2528+
browser: 'chrome@latest-1:',
2529+
};
2530+
await utils.setBrowsers(bsConfig, args)
2531+
expect(bsConfig.browsers).to.be.eql(browserResult);
2532+
});
2533+
it('the args browser should not return exception if os is nil', async () => {
2534+
let bsConfig = {
2535+
browsers: [
2536+
{
2537+
browser: 'chrome',
2538+
os: 'Windows 10',
2539+
versions: ['latest', 'latest-1'],
2540+
},
2541+
{
2542+
browser: 'chrome',
2543+
os: 'Windows 10',
2544+
versions: ['latest', 'latest-1'],
2545+
},
2546+
],
2547+
};
2548+
let browserResult = [
2549+
{
2550+
browser: 'chrome',
2551+
versions: ['latest-1'],
2552+
}
2553+
];
2554+
let args = {
2555+
browser: 'chrome@latest-1',
2556+
};
2557+
await utils.setBrowsers(bsConfig, args)
2558+
expect(bsConfig.browsers).to.be.eql(browserResult);
2559+
});
25052560
it('the args browser should throw an error in case of exception raised', async () => {
25062561
let bsConfig = {
25072562
browsers: [

0 commit comments

Comments
 (0)