Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/wdio-cli/src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -189,7 +189,7 @@ export async function getCapabilities(arg: ReplCommandArguments) {
// multi capabilities
(requiredCaps as (Capabilities.RequestedStandaloneCapabilities)[])[parseInt(arg.capabilities, 10)] ||
// multiremote
(requiredCaps as Capabilities.RequestedMultiremoteCapabilities)[arg.capabilities]
(requiredCaps as Capabilities.RequestedMultiremoteCapabilities)[arg.capabilities]?.capabilities
)
const requiredW3CCaps = pickBy(requiredCaps, (_: never, key: string) => CAPABILITY_KEYS.includes(key) || key.includes(':'))
if (!Object.keys(requiredW3CCaps).length) {
Expand Down
8 changes: 8 additions & 0 deletions packages/wdio-cli/tests/__snapshots__/utils.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,14 @@ exports[`getCapabilities > should return driver with capabilities for ios 2`] =
}
`;

exports[`getCapabilities > should return driver with capabilities for multiremote config 1`] = `
{
"capabilities": {
"browserName": "chrome",
},
}
`;

exports[`getCapabilities > should through capability not found 1`] = `[Error: No capability found in given config file with the provided capability indexed/named property: 5. Please check the capability in your wdio config file.]`;

exports[`getCapabilities > should throw capability not provided 1`] = `[Error: Please provide index/named property of capability to use from the capabilities array/object in wdio config file]`;
Expand Down
19 changes: 19 additions & 0 deletions packages/wdio-cli/tests/utils.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,25 @@ describe('getCapabilities', () => {
.toMatchSnapshot()
expect(autoCompileMock).toBeCalledTimes(1)
})

it('should return driver with capabilities for multiremote config', async () => {
const getCapabilitiesMock = vi.spyOn(ConfigParser.prototype, 'getCapabilities')
getCapabilitiesMock.mockReturnValue({
myChromeBrowser: {
capabilities: {
browserName: 'chrome'
}
},
myFirefoxBrowser: {
capabilities: {
browserName: 'firefox'
}
}
} as WebdriverIO.Capabilities)

expect(await getCapabilities({ option: '/path/to/config.js', capabilities: 'myChromeBrowser' } as any))
.toMatchSnapshot()
})
})

afterEach(() => {
Expand Down
Loading