Appium - Parallel Execution (Grid)

Is it Necessary to Start Selenium Standalone Server for Parallel Execution?

I am able to run tests parallel on multiple devices, by giving different udids , appium port numbers with out configuration json files... **Please let me know Is Selenium Hub should be launched for Parallel Execution? and what is the use when it comes to Appium.!!!**

Thank you in advance,
Vijay Bhaskar.

1 Like

Oh boy I have no idea. The appium developer team focuses on getting appium to work, and doesn’t directly support selenium grid. I’ve seen posts here of people who are actively using it though.

Sneak peek: We are currently working on a major refactor of the internal architecture of appium, and the new code will make it possible for us to finally implement multiple sessions from a single appium server =D

9 Likes

Thank you @jonahss .Eagarly waiting for the same :smiley:

But i didn’t get exact answer about it. Hope will get suggestions for the same.

Thanks,
Bhaskar.

hi basker,

can u please let me know how to write a selenium program should be execute in multiple android devices(for example 2 devices)
can u help me that how to start.

Hi @veeraBrahmachari_K,

1)Start Selenium server as Hub just placing a cmd : java -jar selenium…jar -role hub hubconfig.json
2) Start two appium servers as nodes for two devices as,
i)appium --nodeconfig path\to\nodeconfig1.json -p 4723
ii)appium --nodeconfig path\to\secondconfigfile\nodeconfig2.json -p 4724
3) You can call them through testng.xml as parallel tests.

Regards,
Bhaskar.

hi basker,
really i am telling that i am new to appium
and i did configuration and all i am able to execute one or two programs on emulators and real devices
now my task to execute same program on two devices parallel, and two different test case have to execute on different devices at same time

please help me how to start and what are the requirements

Hi Bhaskar,

Can you be more specific on how to create node?
I could not locate nodeconfig path.

Thanks

hi @RISHI_KHANNA ,

If you are running appium from (Appium.exe) path then ,
node appium --nodeconfig path\to\nodeconfig.json -p 4724 -bp 5724

(or) if you’re doing from cmd,
appium --nodeconfig path\to\nodeconfig1.json -p 4724 -bp 5724

Note: “path\to\nodeconfig1.json” is where your node configuration json file locates…e.g. D:\file\nodeconfig.json

Json File should like as follows and please made changes according to you and pls let me know whether it works or not :

nodeconfig.txt (449 Bytes)

Thanks,
Bhaskar.

nodeconfig.json: This particular json file should come with node.js?
I am unable to locate this on my system

Instead of Node configuration files, you can also write the java junit/testng code pieces and invoke this java test code as parallel execution units. I don’t think we require to start the Selenium Standalone servers here. Appium server has nothing to do with Selenium Standalone servers. Once two Appium instances run on two different ports, these will simultaneously test two devices at one time.

1 Like

Hi,

It should not come with node.js .We have to create json file manually with .json extension.
I guess you might think of package.json (not used for Grid ).
Please save that txt file to json file and use it ,will get it resolved. (Please make sure that Selenium Hub is already in running state).

Thanks,
Bhaskar

Yes @Khushboo_Kaur ,
I agree with you. I’m able to run multiple devices on parallel with out Selenium Hub configuration. But the Appium team had mentioned http://appium.io/slate/en/v1.3.6/?java#selenium-grid here.

Can you tell me that work around? How can we achieve parallel execution using Appium?

Please have a look on the following topic :-

This is awesome.
Hope to hear updates soon!

Hi,
I tried setting up the configuration but getting error “Request to register with was unsuccessful.”
I tried to create two instances of appium. Started my appium.exe on two different port numbers 4720 and 4730.
Started my grid server using : “java -jar selenium-server-standalone-2.45.0.jar -role hub”
Node server1 : appium --nodeconfig C:\Users\rishi.kumar.khanna\Desktop\nodeconfig1.json -p 4730 -bp 5724

Node Server2: appium --nodeconfig C:\Users\rishi.kumar.khanna\Desktop\nodeconfig.json -p 4720 -bp 5724

nodeconfig.txt (411 Bytes) nodeconfig1.txt (415 Bytes)

Hi @RISHI_KHANNA ,
Nice to hear that you’re trying and almost done…
You have to start Selenium Server as a hub with json file. have a try with the following and they’re…
HubConfig.txt (329 Bytes)

java -jar selenium-server-standalone-2.45.0.jar -role hub -hubConfig path\to\HubConfig.json

Hope this will get resolved.
Thanks,
Vijay Bhaskar.

Hi,

Thanks for the prompt help. But still facing the same issue. Can you check my both nodeconfig files?One more doubt - while creating nodes from cmd do I need to open the appium.exe on both the ports manually?

Hi,
No need to open GUI mode Appium server because you’re already done appium servers with Command Prompt with Json files. I saw your config files and they are fine.
I guess you’re giving same bootstrap port number to both nodes.please have a try with different port nums.
-bp 5723 & -bp 5724

Hope will get resolved…!!!
Regards,
Bhaskar.

Its still not working. Throwing error Unexpected token. Find the screenshot- capture.

Also, we I tried creating node without passing bp and port in command line, only one appium instance was registered on hub . For second instace its throwing an error “Pleas make sure only one appium instance is running”
Screenshot- capture2