How to Test Appdome Secured iOS Apps with Perfecto

Last updated August 20, 2024 by Appdome

Learn to efficiently test Appdome-Secured iOS Apps using the Perfecto Live Testing suite, a versatile testing platform for web and mobile applications. Appdome seamlessly integrates with top mobile testing solutions, enabling customers to enhance mobile app security within their existing application lifecycle with the speed and agility of DevSecOps.

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 using Perfecto 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.

General Information About Testing in iOS Apps

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

Appdome feature Reason Behavior with Build2Test
Prevent App Screen Sharing Perfecto records the screen during tests, which triggers the screen-sharing protection. The app will detect the screen recording but will continue running without crashing, allowing for uninterrupted testing.
Prevent Code Injection Perfecto may inject code or use scripts during automated tests, which can be detected as unauthorized code injection by this feature. The app will detect the code injection attempt but will remain stable and functional during the test.
Detect App is Debuggable Perfecto signs the app as debuggable upon installation, which is detected as a potential security risk by this feature. The app will acknowledge the debuggable state but will continue operating normally during the testing process.
Secure App Signature Perfecto might resign the app upon installation to match its test environment, triggering the app signature protection. The app will detect the signature change but will not crash, allowing the testing to continue without interruption.

Upload the App to the Perfecto Repository

1. Log into your Perfecto cloud at <your-cloud>. app.perfectomobile.com

2. Click on “Account Setup”.

3. Select “Repository” from the top bar.

Perfecto Bar

 4. Click the upload button.

Perfecto Logo

5. Choose an app to upload.
6. Select and define additional data (e.g., private/public repository, name, tags),

7. Click the Upload button.

Perfecto Upload A File

Live App Testing

1. Switch to the “Manual Testing” tab on the top bar.

Perfecto Manual Testing

2. Select a device and click “OPEN”.

Select Ios Device

3. Once the device is initialized, click on the application’s icon and then “INSTALL NEW.”

Perfecto Apps Menu Install New

4. Choose your app from the repository folder.

5. Click Next

Choose App From Repository

6. Configure additional settings.

7. Click Install App. Once installed, you can use the app and test it (Ensure “resign” is enabled).

Perfecto Install App2

NOTE
In case of any issues with the app, please send the device logs to Appdome Support by following these steps:
1. End the test and mark your results to save them.
2. Enter the link to your report.

Release Device

3. On the top-right of the screen, look for the export button. Clicking it will open a dropdown menu from which you can download the device logs and iOS crash logs.

Export To Ppdf

Automating App Testing on iOS

When using Perfecto with Automate App testing on an Appdome-protected app, certain security protections may be triggered due to advanced options that need to be enabled in Perfecto’s test environment.
Perfecto has several Appium capabilities, namely, a series of key-value pairs that allow you to configure your tests on Perfecto.
For further details, see the Capabilities Builder – Appium webpage.
The iOS resign Appium capability can trigger Appdome protection features, as specified below.
BrowserStack-Specific Appium Capability Reason
iOSResign By enabling iOSResign (a must for working with iOS apps on Perfecto), Perfecto will resign your app and trigger Appdome’s Secure App Signature.

Troubleshooting Tips

Issue: App Fails to Run on Testing Device

Symptom: The Appdome-secured application fails to launch or crashes when running automated tests.

Possible Cause: 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.

Solution:

  • Ensure that the automation test tool is set to Real Device Mode. Appdome’s ONEShield feature prevents the app from running on emulators or simulators.
  • Verify that the testing environment is using an actual device, not an emulator.

Issue: App Exits Unexpectedly or Displays Security Violation Message

  • Symptom: The app closes unexpectedly or shows an error message stating, “Application has violated security policies, and it will be shut down.”
  • Possible Causes:
    • The app is detecting the presence of conditions it is protected against, such as running in an emulator, tampering, reverse engineering, or root detection.
    • The testing tool might be running in Emulator Mode instead of Real Device Mode.
  • Solution:
    • Switch the testing tool to Real Device Mode or Manual Mode to prevent the app from detecting an insecure environment.

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

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