Mobile app no need to Install & Login every time

Hi Guys,

I am working on Mobile app automation. In my app Login, View contacts, My profile view… available.

I wrote TestNG classes.
Ex: Installation(@BeforeSuite), Login(@Test priority=1), ViewContacts(@Test priority=2), MyProfileView(@Test priority=3)

If i run the app
Each & Every time Installation, Login Methods/functionality going on.

If app not exists in the device need to do all functionality, else app already exist in the device no need to Installing & Login.
Directly execute the remaining methods, like ViewContacts, MyProfileView

Please help me. How to implement…

Thank’Q
Jo

Hi Jo,

In your Login() method you can place a condition to check if App is installed or not using AndroidDriver method “isAppInstalled(bundleID)”, if this method returns true then App is installed and you need not install it again.
Also, you can check Appium settings, if you have selected FullReset or NoReset. Selecting FullReset will install the App each time. You can keep NoReset selected in Appium settings.

Thanks,
Sujata

1 Like

Hi Sujata,
Thank’Q for ur reply.
Please Can you tell me sample code how to write code for isAppInstalled(bundleID)"

In appium setting there is no “FullReset or NoReset.”
thank’Q
jo

1 Like

Hi Jo,

Are you using Appium.exe to start Appium server?

Hi,
Yes iam using appium.exe only on my windows

You can check on No Reset checkbox, as in image above, under Android Settings in Appium

1 Like

@sujata_kalluri,
Ya thank’Q I noticed in my appium
So i need to check the NoReset right?

How to right “isAppInstalled(bundleID)” method?
How to fine BundleID.
Can you give simple code for this.

Hi Jo, Which app do you currently wants to automate…?
If it is IOS app,BUNDLE ID must be in your Mac, go to XCode ->window->organizer->applications->click on …it
Otherwise , go to search -> iphone configuration utility->applications->identifier(as Bundle id), in that you may found it.

For real device Bundle id must be given, and for simulator App path should be given.

@bhaskar
Thank’Q

I am using Android app.
BundelID= package name?

Hi Jo,

Please try with app-package (e.g. com.test.app) and check, I have not used this method (isAppInstalled) so far.

Thanks,
Sujata

HI @sujata_kalluri, @bhaskar

Thank’Q so much your support.
Working for me.

Regards,
Jo

1 Like

That is great :smile:
It worked with package as “app-package” ?

1 Like

Hi jo,
Can you please send me the snippet of the usage of isAppInstalled()?

can u share snippet . i am facing same issue.

for app package name . You can connect your device to system via USB and execute “adb shell pm list packages -3” on cmd
or you can install following android app to get all package name which installed into device
“ÄppInfo”