How to Test Secured Android Apps on Lambdatest

Last updated September 17, 2024 by Appdome

This knowledge-base article covers the steps needed to test Appdome-secured Android mobile apps using a cloud testing vendor’s mobile test automation suite.

  • Use Appdome’s Build2Test service (Recommended)
    Customers with an Appdome SRM license can use Appdome’s Build2Test service to quickly and easily test their Appdome-secured mobile apps by using Lambdatest without the need for different Fusion Sets. With Appdome’s Build2Test service, Appdome’s in-app defense model recognizes the unique signature of these testing services and allows for easy testing without issuing a security alert or forcing the app to exit, even if these services use tools such as Magisk or Frida. For details, see How to Use Appdome Mobile App Automation Testing.

Which Appdome Security Protections May be Triggered due to Lambdatest’s Test Environment

When using Lambdatest to run Real Device App Testing or App Automation testing on an Appdome-protected app, you can choose between either of the following methods:

The following table describes which Appdome protection features may be triggered and the reason why.

Appdome feature Reason Behavior with Build2Test
Detect Developer Options Required to interact with the device The app will detect this but will not crash, allowing testing to continue.
Block Android Debug Bridge (ADB) Required to interact with the device The app will detect ADB usage but will not crash, ensuring smooth testing.
Prevent App Screen Sharing Lambdatest performs screen recording, so if this feature is enabled, all test videos might show a black screen. The app will detect the screen recording but will continue running without crashing, allowing for uninterrupted testing.
Prevent Keystroke Injection Lambdatest uses the adb command to enter text. screen The app will detect the use of the adb command but will continue running without crashing, allowing for uninterrupted testing.
Secure App Signature Lambdatest resigns the app upon installation The app will detect the signature change but will not crash, allowing the testing to continue without interruption.
Prevent Auto-Clickers Permissions Lambdatest might flag anomalies that signal the use of auto-clickers. The app will detect auto-clicking activity but will continue operating normally, allowing testing to proceed without crashes.
Keylogging Prevention Testing scripts that simulate inputs in a way that resembles keylogging might trigger this feature. The app will detect potential keylogging behavior but will not crash.
Block Memory Editing Tools Activated if memory editing tools attempt to modify the app’s memory during runtime.  The app will detect the use of memory editing tools but will continue running without crashing, allowing for uninterrupted testing.

Testing .aab Apps

Unlike .apk apps, .aab apps must be re-signed before installation.

To avoid triggering Appdome’s anti-tampering protection as a result of the re-signing process, you can use either of the following options:

  • Convert the test .aab app into Universal.apk by using the same key that was used for signing the .aab app, and use the Universal.apk file to test with Lambdatest.

Real Device (Live) App Testing – Android

To initiate a Real Device (Live) App test of your test app in Lambdatest:
  1. Log in to your Lambdatest account. Alternatively, if you do not yet have an account, Create an account.
  2. On the menu on the right bar, click Real Device > App Testing.
    You will now see a list of previously uploaded iOS and Android apps.
    Previosulydisplayedapps
  3. Select the Android platform on the left side of the screen.
  4. Select your app to test from the apps list.

    Note: If you have not previously uploaded your app, you can do it now by clicking on UPLOAD to upload the app directly from your computer, or URL to obtain the app from somewhere else.

  5. Select a test device of your choice by selecting its brand, device name, and OS version from the list on the right.
  6. Click Start to start testing.
    Starttesting
    The app will be automatically installed on the selected device and then launched. The app’s device control buttons are displayed on the left.
  7. Click the app on the screen to use it.
  8. When done, click End Session (red button on the left side of the screen).

Automating App Testing on Android

Lambdatest has several Appium capabilities, namely: a series of key-value pairs that allow you to configure your tests on Lambdatest. For further details, see the Capabilities Builder – Appium webpage.
The network Log Appium capability may trigger Appdome protection features, as specified below.
Lambdatest-Specific Appium Capability Reason
networkLog By default, Lambdatest re-signs the app to enable capturing network log
networkLog Lambdatest uses a MiTM proxy

Note:

For additional measures to take during app build on Appdome, see the above sections Testing on Android Apps and Testing .aab Apps.

Troubleshooting Tips

  • Most automation test tools can typically be used in one of two modes: emulator mode and real device mode (specific terms may vary according to the testing tool). If you use the automation test tool in “emulator mode” instead of “real device mode,” the Appdome-secured application will not run on the device. This is expected because Appdome ONEShield protects apps from running on emulators/simulators. Instead, it would help if you run the automation test tool on an actual device.

Related Articles:

How Do I Learn More?

If you have any questions, please send them our way at support.appdome.com or via the chat window on the Appdome platform.

Thank you!

Thanks for visiting Appdome! Our mission is to secure every app on the planet by making mobile app security easy. We hope we’re living up to the mission with your project.

Appdome

Want a Demo?

Test Secured Mobile Apps

GilWe're here to help
We'll get back to you in 24 hours to schedule your demo.