0

I am trying to develop new XCUITest project and my requirement is to do parallel distributed testing. Such that i have 4 iPhones and 6 classes. Each class should run once and if it is executed then it should not be executed on any other iPhone.

Example: class to be executed: Class1, Class2, Class3, Class4, Class5, Class6 No of iPhones: iPhone1, iPhone2, iPhone3, iPhone4

Now execution should be like this

iPhone1: Class1, Class5 iPhone2: Class2, Class6 iPhone3: Class3 iPhone4: Class4

I have tried Xcode parallel testing but it is executing same test cases on all iPhones which i don't want.

I have tried test plan, fastlane & xcodebuild still not able to find the solution. Does anyone has any idea how can we achieve this or if someone has implemented this in their project.

Any help would be great.

i have tried fastlane for executing multiple testcases on multiple iphones but its not working.

Also tried paraller testing in xcode & test plan. but they are executing same testcases on every iphones whic i dont want.

  • The best solution I previously found for this is a lot of scripting and maintenance or a smart test tagging mechanism. There is no simple off the shelf option. – Mike Collins Jul 28 '23 at 11:08
  • Can you share some scripts or something that can help me. I have no idea how to begin and where to look for. What scripting you used and how you maintained multiple executions? a sample code would be great to start with. – Prashant Kumar Manjhi Jul 29 '23 at 15:54
  • I've written on the subject at https://www.iammike.org/2021/03/04/xcuitest-circleci-and-parallelization/. It sounds like you have a lot to do before you on the CI side before you work on parallelization. – Mike Collins Jul 30 '23 at 18:58
  • thanks for the reference document. We are using jenkns so i dont know how much this will help. As for xcode parallelization i ahve tried that but the issue is that it ram all the test cases on all the iphones. Same test will be ran on all the attached iphones but i dont want this. What i want is to execute test cases on either of the phones and once its executed it should not be ran by any other phones. Just a single execution on a single device and they should run in parallel. Is that possible in xcode i have searched everything but not working. – Prashant Kumar Manjhi Jul 31 '23 at 04:58
  • No, you will need to create your own logic/script for that. Not trivial work. – Mike Collins Jul 31 '23 at 13:58

0 Answers0