Unable to run parallel execution on multiple mobile platforms using TestNG QAF

61 views Asked by At

I'm working on a use case where i have to run my flutter automation code(QAF flutter) on ios and android platforms in parallelly. i have configured testng xml with 2 appium servers as below

<suite name="Mobile App-Android" verbose="0" parallel="tests" thread-count="2">

    <test name="Android Mobile" enabled="true">
        <parameter name="step.provider.pkg" value="com.mobile.flutter.app.steps"/>
        <parameter name="scenario.file.loc" value="scenarios/Mobile"/>
        <parameter name="env.resources" value="resources/mobile/flutter;resources/mobile/flutter/screens;resources/mobile/android/screens;resources/env_dev"/>
        <parameter name="remote.server" value="127.0.0.1"/>
        <parameter name="remote.port" value="4723" />
        <parameter name="flutter.additional.capabilities" value="{'deviceName':'RTYIIGHBGF','platformName':'Android','automationName':'Flutter','appPackage':'com.xyz.abc','driverClass':'io.appium.java_client.android.AndroidDriver','platformVersion':'11.0','retryBackoffTime':'2000','maxRetryCount':'5','newCommandTimeout': '180','app':'/Users/Documents/app-dev-debug.apk','udid':'RTYIIGHBGF'}"/>
        <parameter name="driver.name" value="flutterDriver" />
        <groups>
            <run>
                <include name="Testthis"/>
            </run>
        </groups>
        <classes>
            <class name="com.qmetry.qaf.automation.step.client.text.BDDTestFactory2"/>
        </classes>
    </test>

    <test name="iOS Mobile" enabled="true">
        <parameter name="step.provider.pkg" value="com.mobile.flutter.app.steps"/>
        <parameter name="scenario.file.loc" value="scenarios/Mobile"/>
        <parameter name="env.resources" value="resources/mobile/flutter;resources/mobile/flutter/screens;resources/mobile/ios/screens;resources/env_dev"/>
        <parameter name="remote.server" value="127.0.0.1"/>
        <parameter name="remote.port" value="4724" />
        <parameter name="flutter.additional.capabilities" value="{'deviceName':'iPad','platformName':'IOS','automationName':'Flutter','udid':'4773478474378734E','bundleId':'com.xyz.abc','driverClass':'io.appium.java_client.ios.IOSDriver','platformVersion':'16.4.1','retryBackoffTime':'2000','maxRetryCount':'5','app':'/Users/Documents/Runner.app'}"/>
        <parameter name="driver.name" value="flutterDriver" />
        <groups>
            <run>
                <include name="Testthis"/>
            </run>
        </groups>
        <classes>
            <class name="com.qmetry.qaf.automation.step.client.text.BDDTestFactory2"/>
        </classes>
    </test>
</suite>

Tests are not running as expected, rather the tests are running parallel but on only one platform. But when running one by one all is working fine. I have followed the documentation as shown in https://qmetry.github.io/qaf/latest/creating_configuration_file.html

I would appreciate any guidance or suggestions on what i'm doing wrong?. Thank you!

appium_4723.log

appium_4724.log

enter image description here

Actual Behaviour: Both tests are ran in parallel but on only one platform either android or iOS, never on both.

Expected Behaviour: Want to run tests in parallel on both plaforms i.e iOS and Android.

0

There are 0 answers