Thank you, @wreed!
Currently, I’m working on implementing the solution on at least two devices. My initial strategy was to succeed with this configuration, and if successful, I planned to extend it to include a greater number of devices or emulators.
I appreciate your suggestion regarding Selenium Grid. I will delve into it more deeply. However, I was exploring alternative solutions that would allow me to bypass the grid and instead utilize TestNG parameterization or a similar approach.
I have successfully initiated an app on two emulators. However, a notable issue has arisen: only one test case executes as expected on device 2, while on device 1, after launching the app, nothing occurs. Upon reviewing the logs, I observed that when test case 2 on device 2 is running, test case 1 is also using device 2’s port, as defined in the properties file.
Key modifications made in the files to achieve this include:
- Utilizing
@Parameters
from TestNG, I defined a set of parameters (such asudid
,platformname
, and port number) inside the global properties file. These parameters are then read in the capabilities. - Appium is automatically initiated using AppiumDriverLocalService .
For detailed information, please refer to the attached Appium logs in the.
Additionally, the “Sample code(1).txt” file contains the code used for this implementation, including the MasterTest class, details of the global.properties file, and the TestNG file.
Sample code (1).txt (5.5 KB) file named
Appium Logs - Final.txt (315.8 KB)