Parallel execution is not working in appium with testng
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 1.3k
- Forks
- 752
- Avg merge
- 6d 21h
- Merged PRs (30d)
- 8
Description
The problem
I am providing the udid and it's ruining but it is not executing my tests, it just reset sometime and then stop working.
I am using the:-
If I don't initialize loadconfig there it is not initializing the driver and beforesuite annotation is not even working.
Environment
*java-1.8
*appium-6.1.0
*appium server- gui based version 1.13.0
*testng- 6.8
Details
If I don't initialize loadconfig there it is not initializing the driver and beforesuite annotation is not even working.
Code To Reproduce Issue [ Good To Have ]
it's testng file:
<test name="Emulator">
<parameter name="runAs" value="grid"></parameter>
<parameter name="platform" value="mobile"></parameter>
<parameter name="runOn" value="emulator-5554"></parameter>
<parameter name="port" value="4726"></parameter>
<classes>
<class name="TestCase.Login"/>
</classes>
</test>
<test name="Samsung J7">
<parameter name="runAs" value="grid"></parameter>
<parameter name="platform" value="mobile"></parameter>
<parameter name="runOn" value="52039763fe37a3eb"></parameter>
<parameter name="port" value="4729"></parameter>
<classes>
<class name="TestCase.Login"/>
</classes>
</test>
Capability files:-
@Parameters({"runOn"})
@BeforeSuite
public static void loadConfigProp(@Optional("chrome_normal") String runOn) throws IOException
{//Importing the files
FileInputStream fis = new FileInputStream(System.getProperty("user.dir")+"\\src\\main\\resources\\Properties\\"+"data.properties");
prop.load(fis);
app= new File(prop.getProperty("app.path"));
//APPLICATION_NAME = prop.getProperty("application.path");
BASE_PKG = prop.getProperty("base.pkg");
APP_ACTIVITY = prop.getProperty("application.activity"); AUTOMATION_INSTRUMENTATION=prop.getProperty("automation.instumentation");
DEVICE_NAME=prop.getProperty("device.name");
PLATFORM_NAME=prop.getProperty("platform.name");
capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,
Base.PLATFORM_NAME);
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "Android");
capabilities.setCapability(MobileCapabilityType.APP,app.getAbsolutePath());
capabilities.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY,
Base.APP_ACTIVITY);
capabilities.setCapability("noReset","true");
capabilities.setCapability("fullReset","false");
capabilities.setCapability(AndroidMobileCapabilityType.APP_PACKAGE,
Base.BASE_PKG);
if(runOn.equals("52039763fe37a3eb"))
{
capabilities.setCapability("udid", "52039763fe37a3eb");
driver = new AndroidDriver(new URL("http://127.0.0.1:4729/wd/hub"), capabilities);
}else if(runOn.equals("emulator-5554"))
{
capabilities.setCapability("udid", "emulator-5554");
driver = new AndroidDriver(new URL("http://127.0.0.1:4726/wd/hub"), capabilities);
}
}
Config file to load it:
@BeforeTest
public void start() throws IOException {
Base b= new Base();
b.loadConfigProp("52039763fe37a3eb");
b.loadConfigProp("emulator-5554");
driver=b.getDriver();
}
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the TestNG XML and the @BeforeSuite loadConfigProp and @BeforeTest start entry points shown in the report. Reproduce the run using both device IDs and Appium ports, then trace when each driver is initialized and reset. Done means both configured tests execute reliably in parallel without stopping or resetting unexpectedly.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- mobile, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100