Can someone let me know what's the bundle ID for Outlook app and please let me know if there are any gaps from below-desired capabilities

I am trying to launch the Outlook app from LambdaTest using Appium’s desired capabilities. The session is not creating and getting 500 errors. Can someone let me know what’s the bundle ID for the Outlook app and please let me know if there are any gaps from the below-desired capabilities.

DesiredCapabilities caps = new DesiredCapabilities();
HashMap<String, Object> ltOptions = new HashMap<>();
ltOptions.put("user", userName);
ltOptions.put("accessKey", accessKey);
ltOptions.put("platformVersion", BaseRestServices.getConfigProperty("appium.platformVersion"));
ltOptions.put("deviceName", BaseRestServices.getConfigProperty("appium.deviceName"));
ltOptions.put("platformName", BaseRestServices.getConfigProperty("appium.platformName"));
ltOptions.put("isRealMobile", BaseRestServices.getConfigProperty("appium.isRealMobile"));
ltOptions.put("build", BaseRestServices.getConfigProperty("[appium.build](http://appium.build/)"));
ltOptions.put("name", BaseRestServices.getConfigProperty("[appium.name](http://appium.name/)"));
ltOptions.put("tunnel", BaseRestServices.getConfigProperty("appium.tunnel"));
ltOptions.put("tunnelName", BaseRestServices.getConfigProperty("appium.tunnelName"));
ltOptions.put("bundleId", "com.microsoft.office.outlook"); //Enter your app url
ltOptions.put("autoGrantPermissions", true);
ltOptions.put("devicelog", true);
ltOptions.put("network", true);
caps.setCapability("LT:options", ltOptions);

iosDriver = getIosDriver(commandExecutor);

Hey Sindhu,

You can use the capabilities shared below:

For Android:

ltOptions.put("app", "stock");
ltOptions.put("privateCloud", "true");
ltOptions.put("appPackage", "com.lambdatest.debug");
ltOptions.put("appActivity", "com.lambdatest.MainActivity");

For iOS:

ltOptions.put("app", "stock");
ltOptions.put("privateCloud", "true");
ltOptions.put("bundleID", "com.lambdatest.debug");

JavaScript Hooks

To install the new app:(Java)

driver.executeScript("lambda-install-app=lt://APP10160601511707226417347195");

Note: This hook will just install the app on the device. To launch it we will have to use launchApp or startActivity or activateApp method.

To uninstall the app:

driver.executeScript("lambda-uninstall-app=com.stockx.stockx.debug");

To start a session of newly installed app in android:

((StartsActivity) driver).startActivity(new Activity("com.stockx.stockx.debug", "com.stockx.stockx.ui.activity.MainActivity"));

Note : Where com.stockx.stockx.debug is app package and com.stockx.stockx.ui.activity.MainActivity app activity.

For the timezone in public or private devices

Use the below format:

ltOptions.put("appium:locale", "GB");
ltOptions.put("appium:language", "en");
ltOptions.put("timezone", "UTC+0000");

Note: For the timezone cap, do not use the below format, please as it would end up your test with lambda error.

ltOptions.put("timezone", "UTC+000"); OR
ltOptions.put("timezone", "UTC");

However, the other way out is to try GitHub - hjsblogger/appium-2-selenium-4: Sample repo of Appium 2.x + Selenium 4.x + Appium-Java Client 9.3.0 code that is using (Appium 2.x + Selenium 4.x + latest Java Client - 9.3.0).

You can use the following iOS & Android apps that are publicly available:

Once you upload the app to LambdaTest real-device cloud, replace the app_id (e.g. lt://APP10160522181733921948769896) in the code or export it using the environment variable (LT_APP_ID).

Add the capability ltOptions.put("private", false); in case you are running tests on Private Device.Post exporting the LambdaTest username & access-key (i.e. LT_USER_NAME & LT_ACCESS_KEY).

Run the command mvn test -P ios-single on the terminal to trigger the test on LambdaTest.

I hope this works for you; if you are struggling, feel free to reach us at any point.

Happy to help :slight_smile: