While working on Android mobile test automation with Katalon Studio, one common challenge is obtaining specific APK versions for testing, especially when validating regression issues or reproducing bugs from older releases. In such scenarios, platforms like APKPure can be helpful as they provide access to APK files and previous app versions that may no longer be available on the Play Store. Testers can download the required APK, install it on an emulator or real device, and then connect it with Katalon to perform automated functional or UI testing. This approach can be useful for maintaining consistent test environments, although it’s important to verify app integrity and follow best practices when using external sources. I’m curious to know how others in the Katalon community manage APK versioning for mobile automation and whether external APK sources are part of your testing workflow.
Thank you for your interesting insight, I might bring our Gurus to this topic @grylion54 and @kazurayam
I do not do mobile testing in katalon at all. I know nothing about it.
@jaxon806read can ask the same question to some AI (ChatGPT, Copilot, Claude, … etc) for suggestions.
in my case, i usually use Firebase App Distribution (Firebase App Distribution) instead of third-party sources like APKPure
it helps a lot because we can manage and distribute APKs internally, and testers can easily select a specific APK version for regression testing or reproducing issues from previous releases
this approach also feels safer since the APKs come directly from our CI/CD pipeline, so app integrity is guaranteed
Summary & Best Practices for APK Versioning in Katalon Studio
Based on the official Katalon documentation and best practices, here’s a comprehensive overview of how to manage APK versions for mobile automation:
Official Katalon Approaches
1. TestCloud Application Repository (Recommended for Enterprise)
Source: Mobile Recorder Utility - Upload Mobile App to TestOps
Katalon provides an official, secure method for managing APK versions:
- Upload to TestOps Application Repository: Store APK files (
.apk,.aab,.ipa) directly in Katalon TestOps - Size Limit: 500MB per application
- Storage Duration: 60 days (with team sharing)
- Version Control: Automatically tracks uploaded versions
- Security: Centralized, authenticated access through your Katalon account
Steps:
- Sign in to Katalon TestOps
- Go to Test Execution > Application Repository
- Click Upload Application and select your APK
- Use the uploaded version in Mobile Recorder/Spy utilities
2. Local APK Management
Source: Create and Run Android Test Case
For local testing:
// Reference APK from your project directory
String appPath = relativeToAbsolutePath('path/to/your/app.apk', getProjectDir())
Mobile.startApplication(appPath, false)
Best Practice: Store APKs in your project’s resources or apk_versions folder with version naming:
project_root/
├── resources/
│ ├── apk_versions/
│ │ ├── app_v1.0.0.apk
│ │ ├── app_v1.1.0.apk
│ │ └── app_v2.0.0.apk
Regarding External APK Sources (APKPure, etc.)
While your question about using external sources like APKPure is valid, here are important considerations:
| Aspect | Recommendation |
|---|---|
| Security | |
| Licensing | |
| Version Control | |
| Enterprise Use | |
| Regression Testing | |
| CI/CD Pipelines |
Recommended Workflow for Version Management
For Regression Testing & Bug Reproduction:
// Define APK versions in a configuration file
def apkVersions = [
'v1.0.0': 'resources/apk_versions/app_v1.0.0.apk',
'v1.1.0': 'resources/apk_versions/app_v1.1.0.apk',
'v2.0.0': 'resources/apk_versions/app_v2.0.0.apk'
]
// Use in test case
@Keyword
def testWithVersion(String version) {
String appPath = apkVersions[version]
if (!appPath) {
throw new Exception("APK version ${version} not found")
}
Mobile.startApplication(appPath, false)
}
// Test case
testWithVersion('v1.0.0') // Test regression on older version
Community Best Practices
Based on Katalon’s documentation and testing standards:
- Source Control: Keep APK versions in your Git repository (with
.gitignorefor large files) or use artifact management tools - Version Naming: Use semantic versioning (v1.0.0, v1.1.0, etc.) for easy tracking
- Documentation: Maintain a changelog mapping APK versions to test scenarios
- Automation: Use CI/CD pipelines to automatically download/install specific APK versions
- Device Compatibility: Test on multiple Android API levels (Katalon supports Android 6.0+)
Key Takeaway
For enterprise/production use: Use Katalon’s TestOps Application Repository for secure, version-controlled APK management. For local development and regression testing, maintain APKs in your project with clear version naming and documentation.