Unable to run appium +webdriverio tests on iOS and Android in parallel

Hello,
I am using WebdriverIO, and prepared a config file to tests on iOS and Android in parallel execution but getting the following error
can you please help to fix this issue?

though I have included platfomName , still asking to add…am I missing anything is here?

configuration:

const host = '127.0.0.1'; 
const port = 4730;
config.capabilities = [
    {
        services: [
            ['appium', {
                    args: {
                        debugLogSpacing: true,
                    },
                    command: 'appium',
                },
            ],
        ],
        specs: [
            "./test/specs/test.spec.js"
        ],
        maxInstances: 2,
        // For iOS/android bases mobile device
        capabilities: [{
                port: 4730,
                //platformName: 'iOS',
                    automationName: 'XCUITest',
                    platformName: 'iOS',
                    deviceName: 'iPhone 6',
                    browserName: 'Safari',
                    clearSystemFiles: true,
                    acceptInsecureCerts: true,
            }, {
                port: 4723,
                    automationName: 'uiautomator2',
                    platformName: 'Android',
                    deviceName: AndroidInfo.deviceName(),
                    browserName: 'chrome',
                    commandTimeout: '7200',
                    noReset: false,
            }]
        }
];
exports.config = config;

Error:

2021-12-22T14:26:34.979Z ERROR @wdio/runner: Error: Failed to create session.
[0-0] An unknown server-side error occurred while processing the command. Original error: You must include a platformName capability

Can you please help me some one to find the solution for this?

I don’t think you can start an appium server with both iOS and Android capabilities. Can you try with one or the other and see if that fixes the problem? Once that is working, you’ll need to set the different capabilities on different instances of the appium server.

individually I can able to run only on iOS or Android. but I heard we can able to run on multi android devices by starting appium server with different ports and the same way for iOS

exactly. each device = own appium server instance.
each appium server should have unique:

  • port
  • bootstrap-port (android only)

more -> https://appium.io/docs/en/writing-running-appium/server-args/

each driver should have unique:

  • port (same as appium server)
  • wda (ios: IOSMobileCapabilityType.WDA_LOCAL_PORT)
  • video (ios if needed: mjpegServerPort)
  • chrome (android if needed)
  • system (android: AndroidMobileCapabilityType.SYSTEM_PORT)

Fact is , yes we can run parallel tests on android on multi devices …here am facing configuration…appium supports parallel run

@vbs i would like to know if you are able to run IOS only tests in parallel, any lead is helpful.