Not related to Appium , but as this is mobile automation discussion board I’ll give a try 
Recently we started to run A/B test on our app , and I was wonder what are the strategy to write automation which run in parallel to the process of A/B test.
Is there a way to omit specific versions from A/B test or run A/B test on specific version ?
@igal_epshtein we made 2 approches:
- we have both variants in tests whatever met
- we added ability with client to read start arguments and set a/b flag whaever requested on open driver. Appium has capability to send arguments on driver start. Valid for both ios and android.
Thus we cover some random flow and generate needed of a/b testing.
Thanks for the answer
Option A is a valid one , but then you need to handle two flows.
About option B , as far as I know , the decision of which a/b test flag you get being controlled by firebase , isnt it ?
we have feature flags in apps. and we can control them in 3 ways:
- by backend
- manually in debug menu of app overwrite any server flag sent
- on app start by sending flags in parameters (Appium automation way)
Interesting
Our FF controlled by firebase
How do you send the flags in parameters ?(third option)
In driver capabilities. E.g. for ios:
processArguments
Arguments to pass to the AUT using instruments e.g., -myflag
and for Android ?
And how do you utilise this flags from the app ?
i guess this should work:
intentAction Intent action which will be used to start activity (default android.intent.action.MAIN) e.g.android.intent.action.MAIN, android.intent.action.VIEW
intentCategory Intent category which will be used to start activity (default android.intent.category.LAUNCHER) e.g. android.intent.category.LAUNCHER, android.intent.category.APP_CONTACTS
intentFlags Flags that will be used to start activity (default 0x10200000) e.g. 0x10200000
optionalIntentArguments Additional intent arguments that will be used to start activity. See Intent arguments e.g. --esn <EXTRA_KEY>, --ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE>, etc.