Since Rapise 8.0 you may use AppiumDriver.ActivateApp action. It has just one parameter - application ID.
Find Application ID on iOS
Apple publishes IDs of built-in applications, use this link to check out:
https://support.apple.com/guide/deployment/bundle-ids-for-native-iphone-and-ipad-apps-depece748c41/web
The page has a table that looks like this:
For example to switch to Messages app use:
AppiumDriver.ActivateApp("com.apple.MobileSMS");
To return back to your application you need to find out it's ID from developers.
AppiumDriver.ActivateApp("com.inflectra.AUTiOS");
Find Application ID on Android
Application ID on Android is the Package Name. To find out the Package Name
- Open the Play Store app on your device and search for the app you want to get the package name.
- For example, if you want to get the package name of Chrome browser, search for Chrome and tap on the app from the search results.
- Tap on the `More` icon (the three dots at the top-right edge of your screen), and then tap on `Share`.
- When the sharing options pop up, select to copy the link or share it to any platform; you need to see the application link – the package name is included in the link.
For Chrome browser the link is
https://play.google.com/store/apps/details?id=com.android.chrome
Thus the package name is com.android.chrome
AppiumDriver.ActivateApp("com.android.chrome");
To return back to your application you need to find out it's ID from developers. It is located in AndroidManifest.xml.
AppiumDriver.ActivateApp("com.inflectra.autandroid");
Find ID and Activity of Running Application
You may also run the following commands in Windows terminal to get information about running applications.
adb shell
dumpsys window windows
For example from the following output
Window #10 Window{146867 u0 com.google.android.keep/com.google.android.keep.activities.BrowseActivity}:
mDisplayId=0 rootTaskId=54 mSession=Session{129b68 11307:u0a10149} mClient=android.os.BinderProxy@4ca6426
mOwnerUid=10149 showForAllUsers=false package=com.google.android.keep appop=NONE
mAttrs={(0,0)(fillxfill) sim={adjust=resize} ty=BASE_APPLICATION fmt=TRANSLUCENT wanim=0x10302fe
fl=LAYOUT_IN_SCREEN LAYOUT_INSET_DECOR SPLIT_TOUCH HARDWARE_ACCELERATED DRAWS_SYSTEM_BAR_BACKGROUNDS
pfl=NO_MOVE_ANIMATION FORCE_DRAW_STATUS_BAR_BACKGROUND USE_BLAST FIT_INSETS_CONTROLLED
vsysui=LIGHT_STATUS_BAR LIGHT_NAVIGATION_BAR
apr=LIGHT_STATUS_BARS LIGHT_NAVIGATION_BARS
bhv=DEFAULT
fitSides=}
Requested w=1080 h=2220 mLayoutSeq=483
mBaseLayer=21000 mSubLayer=0 mToken=ActivityRecord{2851072 u0 com.google.android.keep/.activities.BrowseActivity t54}
mActivityRecord=ActivityRecord{2851072 u0 com.google.android.keep/.activities.BrowseActivity t54}
mAppDied=false drawnStateEvaluated=true mightAffectAllDrawn=true
mViewVisibility=0x0 mHaveFrame=true mObscured=false
mGivenContentInsets=[0,0][0,0] mGivenVisibleInsets=[0,0][0,0]
one can see that the application ID is com.google.android.keep and activity is .activities.BrowseActivity