prashant-ramcharan / courgette-jvm

Multiprocess | Parallel Cucumber-JVM | Parallelize your Java Cucumber tests on a feature level or on a scenario level.
MIT License
131 stars 38 forks source link

Is this library support to run Mobile Apps on Android and iOS in parallel #297

Closed LearningPur closed 2 years ago

LearningPur commented 2 years ago

Hi @prashant-ramcharan , We have new Mobile Native Apps for Android and iOS for which we are planning to automate both apps using Appium and want to do POC with my Lead if this library is capable enough to run mobile test on Android and iOS in parallel ?

If possible can you please provide a solution how to integrate your library in framework to achieve parallel execution on Mobile devices (Android and iOS).

If you have time can you please implement small project like how you implemented sample projects to understand this library. There is no sample project i found in your repo that i can use to learn this library running test on Mobile devices.

Thanks.

prashant-ramcharan commented 2 years ago

Hi @LearningPur

Yes, it should be similar to this project but instead of opening up a browser you will launch an iOS simulator or android emulator.

https://github.com/prashant-ramcharan/courgette-jvm-selenium

You will have limitations running more than 1 test in parallel locally unless you have your own device farm and logic to manage device allocations.

Ideally you should connect to a cloud provider (Saucelabs, Browserstack etc) when running mobile tests in parallel as this would allow you to run multiple iOS test and android tests in parallel using Courgette JVM without having to configure devices (simulator or real) yourself.

I will try to add an example project for mobile apps when I get some free time.

LearningPur commented 2 years ago

Thank you so much @prashant-ramcharan for your quick reply.

In our company we are already using your library for Web automation.

Now we have requirement for Mobile Native apps and i thought since my poc approved for Web automation for this library let me give it a try for Mobile automation.

That will be great if you can please please please add 1 sample project to learn how we can utilize this library for mobile automation as well.

Thanks

LearningPur commented 2 years ago

Hi @prashant-ramcharan If will be greatly appreciated if you can please create sample project to run cucumber test thru courgette-jvm on multiple connected devices (android or iOS).

In our company we have new Android and iOS Native apps and we are in phase of starting automation, since i have used courgette-jvm library on web automation which appreciated by everyone in our company I really would like to utilize same for our Native apps.

Please do help provide sample project so it can help to kick start and do the demo with whole team.

prashant-ramcharan commented 2 years ago

Courgette with Appium (iOS) example project

https://github.com/prashant-ramcharan/courgette-jvm-appium-ios

LearningPur commented 2 years ago

Thank you so much @prashant-ramcharan really appreciated for creating project in short time. As always this is the reason i most like about using "courgette-jvm" library because you response very quickly when someone has any question for you.

LearningPur commented 2 years ago

Hi @prashant-ramcharan iOS test on 2 iOS simulator works as expected.

If possible can you please create another sample project for Android as well or in same iOS sample project if you can please add Android test that will be great.

I have implemented android test to run 2 scenario on 2 android devices but it throws

org.openqa.selenium.SessionNotCreatedException: Unable to create a new remote session. Please check the server log for more details. Original error: An unknown server-side error occurred while processing the command. Original error: Could not proxy command to the remote server. Original error: socket hang up Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host: 'Ankitas-MacBook-Pro.local', ip: 'fe80:0:0:0:8b2:6f6e:d319:4b03%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.16', java.version: '1.8.0_202' Driver info: driver.version: AndroidDriver remote stacktrace: UnknownError: An unknown server-side error occurred while processing the command. Original error: Could not proxy command to the remote server. Original error: socket hang up at

Here is the repo if you can please clone it and let me know where i am making mistake, really appreciated.

https://github.com/LearningPur/courgette-jvm-android

prashant-ramcharan commented 2 years ago

Please refer to the appium docs and support channels.

My advice is try to get your android project working using Cucumber first then you hook into Courgette.

Note. An android project will be exactly the same as the iOS project just different Desired Capabilities

vinitsan83 commented 2 years ago

Thanks @prashant-ramcharan for your reply back. If you don't mind can you please quickly check where am i making mistake in provided repo. When I run the test without courgette library it runs on 2 android devices and that is the reason i have reached out to you or else i wouldn't bother you. I know you are too busy nowadays.

Thanks Mike

prashant-ramcharan commented 2 years ago

https://github.com/prashant-ramcharan/courgette-jvm-appium-android

vinitsan83 commented 2 years ago

Thank you so much @prashant-ramcharan really appreciated. You are awesome, God Bless You.