Running appium script on multiple IOS simulators

Pre-Conditions

  1. Xcode 7
  2. Appium 1.4.13
  3. Created two new simulator with different names and I’m able to successfully launched using command line.

Executed steps

  1. Launched Selenium Grid
  2. Started appium server with below commands
  3. a
    node appium.js -bp 5557 --chromedriver-port 5745 --port “4726” --nodeconfig /Software/iPhone6IOSSimulator.json --command-timeout “7200” --session-override --debug-log-spacing --log “/tmp/appium.log” --platform-version “9.0” --platform-name “iOS” --show-ios-log --device-name “iPhone 6 Srikanth” --launch-timeout “9999999” --native-instruments-lib

2.b
node appium.js -bp 5558 --chromedriver-port 5746 --port “4727” --nodeconfig /Software/iPhone5IOSSimulator.json --command-timeout “7200” --session-override --debug-log-spacing --log “/tmp1/appium.log” --platform-version “9.0” --platform-name “iOS” --show-ios-log --device-name “iPhone 5 Srikanth” --launch-timeout “9999999” --native-instruments-lib

ISSUE

When I run my script that time it is launching on first simulator and after that my script is trying to start on second simulator, that time my first simulator is automatically killed because appium is killing all the opened simulator instances. So its not possible to launch app on multiple simulators.

Looking for solutions
Is there any way to prevent killing all opened simulators when we start appium?
is there any flag through which I can set not to kill simulator instances?

Thanks
Srikanth

1 Like

@Hassan_Radi , @jonahss, @bootstrap, @bootstraponline
Looking for suggestions

I’d consider this a bug in appium. I recommend reposting this to the appium issue tracker so the development team can investigate.

One suggestion is to try setting the noReset desired capability to true.

I already tried with --noReset server flag. I saw one of the suggestions in git hub and tried that, but that is also killing all simulators. So this option will not slove our issue.

I’m looking for suggestion where and what file I can edit manually in appium to fix this issue. I was just going through instrument.js file where appium is trying to kill all simulators. Is it a correct file to do changes. If possible can you tell me what changes I need to do to fix the issue. I’m also trying from my side but if you know. Please let me know.

There are a few different simulator termination functions. The issue won’t get fixed in appium until an issue on github is raised.

Thank you so much for your quick response. Will raise a issue on git.

Thanks
Srikanth

1 Like

GitHub Issue Raised

Hey @Appium_Master,
I’m unable to use --sesion-override and -g, it says “appium.js Unrecognized argument : -g” and “appium.js Unrecognized argument : --session-override”.

Second one is I’m getting message like “Unable to load node configuration file to register with grid”

Can you please help me to resolve this issue ?

Hi @PavithraRavichandran,
You can check below link to understand how to user server arguments
http://appium.io/slate/en/master/?java#appium-server-arguments

Which appium version are you using ?, Try with 1.4x version.

1 Like

Thanks, @Appium_Master. I did some mistake in my command and now I can run it :slight_smile: