Project Dashboardο
The Project Dashboard is your central hub for managing all aspects of your testing project. It provides comprehensive information about your application under test, build details, team members, CI settings, and more.
Manage Your App Builds
Upload new builds
View build information
Compare versions
Track build history
Work With Your Team
Add team members
Manage permissions
Share resources
Track activity
Configure Your Project
Set up notifications
Configure integrations
Manage access controls
Customize workflows
Dashboard Sections Overviewο
The Project Dashboard consists of 5 main sections designed to streamline your testing workflow:
Application Build Management
Manage application builds and versions with complete visibility into your appβs evolution.
Build Uploads: Upload new builds manually or via API
Version Control: Track different versions and builds
Build Information: View comprehensive build metadata
Build Actions: Download, share, or delete builds
Team Member Management
Handle project members and permissions to ensure proper collaboration and access control.
Member Management: Add/remove team members
Role Assignment: Assign admin or regular member roles
Permission Control: Manage access to different features
Activity Tracking: Monitor team member activity
Automated Build Integration
Automated build uploading via API for seamless CI/CD integration.
API Commands: Ready-to-use CURL commands
CI/CD Integration: Connect with your build pipeline
Automation: Automatic build uploads from your CI system
Build Metadata: Include build descriptions and labels
Project Configuration
Configure project preferences and integrations to customize your testing environment.
Notifications: Set up build upload notifications
Bug Tracker: Configure external bug tracking systems
Integrations: Connect with third-party tools
Project Preferences: Customize project behavior
Device Organization
Organize devices and testing groups for efficient resource management.
Device Groups: Create logical device groupings
Access Control: Control which devices teams can access
Resource Allocation: Optimize device usage
Group Management: Add/remove devices from groups
Builds Sectionο
This is the default landing section when you access a project, providing comprehensive build management capabilities.
What Youβll See:
Build Details: Name, version, and package information
Technical Info: Version code and launch activity
Metadata: Description, file size, and upload details
History: Uploader name and upload timestamp
Why It Matters:
Version Control: Track different app versions
Team Visibility: See who uploaded what and when
Build Selection: Easy switching between builds
Metadata Management: Rich build information storage
Build Information Displayο
The Builds section displays comprehensive information for each build in your project:
Core Build Information
Build Name: Descriptive name for easy identification
Version Information: Version name and code
Package Details: Application package name and structure
Launch Activity: Primary activity that starts the app
Tip
Best Practice: Use descriptive build names that include version numbers and build types (e.g., βMyApp_v2.1.0_Releaseβ)
Additional Build Information
Build Description: Detailed description of build contents
File Size: Build file size for storage planning
Uploader Information: Team member who uploaded the build
Upload Timestamp: Date and time of build upload
Note
Tracking: All build uploads are tracked for audit purposes and team coordination
Build State Information
Processing Status: Build upload and processing state
Availability: Whether build is ready for testing
Selection State: Currently selected build for testing
Usage Statistics: How often the build has been tested
Multiple Build Managementο
You can upload and manage multiple builds within a single project for comprehensive version testing:
Multiple Build Benefits:
Version Comparison: Test different versions side-by-side
Regression Testing: Compare new builds against previous versions
A/B Testing: Test different build variants
Release Management: Maintain stable and development builds
Easy Build Switching:
Build Dropdown: Use the Build dropdown to select which build to test
Quick Access: Switch between builds without re-uploading
Context Preservation: Maintain test configurations across builds
Team Coordination: All team members see the same build options
Available Actionsο
The Builds section provides several management options to streamline your workflow:
Manual Build Upload
Manually upload an application build from your local system
Supported Formats: APK, IPA, ZIP files
Build Validation: Automatic validation during upload
Metadata Entry: Add descriptions and labels
Team Notification: Notify team members of new builds
Build URL Access
Copy the download URL for the currently selected build to your clipboard
Direct Download: Share build links with team members
External Access: Access builds from external tools
Version Control: Maintain links to specific build versions
Backup Access: Alternative access method for builds
Build Identification
Copy the unique build identifier to your clipboard
API Integration: Use build IDs in API calls
Automation: Reference builds in automated scripts
Tracking: Unique identifier for each build
CI/CD Integration: Connect with continuous integration
Build Cleanup
Remove the selected build from the project (admin privileges required)
Storage Management: Free up storage space
Project Cleanup: Remove outdated builds
Admin Control: Restricted to project administrators
Safety Check: Confirmation required before deletion
Warning
Admin Privileges Required: Only project members with admin privileges can delete builds from the project. This prevents accidental deletion of important builds.
Tip
Build Management Best Practices:
Regular Cleanup: Periodically remove old builds to save storage
Descriptive Names: Use clear, descriptive build names
Version Control: Maintain a logical versioning scheme
Team Communication: Notify team members about significant builds
Team Managementο
The Team section displays all project members and manages access permissions, enabling effective collaboration across your testing team.
What Team Members Can Do:
Build Access: Test any build within the project
Automation: Create and run automation scripts
Reports: View and generate comprehensive test reports
Collaboration: Work together on test case development
Permission Management:
Role-Based Access: Admin and regular member roles
Granular Permissions: Control what each member can do
Security: Prevent unauthorized changes
Audit Trail: Track member activities
Team Member Capabilitiesο
All project members have access to core testing functionality:
Core Testing Functions
Build Testing: Test any build within the project
Device Access: Use project devices for testing
Session Management: Create and manage test sessions
Data Collection: Capture screenshots, videos, and logs
Tip
Collaboration: Team members can see each otherβs test sessions and results for better coordination
Automated Testing
Script Creation: Create and run automation scripts
Test Execution: Execute automated test suites
Scheduling: Schedule automated test runs
Result Analysis: Analyze automation results
Note
Automation Access: All team members can create and run automation, promoting team-wide adoption
Test Reports
Test Reports: View and generate comprehensive test reports
Performance Analytics: Access performance metrics and insights
Trend Analysis: Track testing trends over time
Export Options: Export reports in various formats
Tip
Shared Insights: Reports are available to all team members for transparency
Team Coordination
Test Case Development: Collaborate on test case creation
Knowledge Sharing: Share testing insights and findings
Communication: Built-in commenting and notification features
Version Control: Track changes and versions collaboratively
Member Roles and Permissionsο
Projects support two types of members with different privilege levels:
Enhanced Privileges
Admin members have comprehensive project management capabilities:
Administrative Powers:
Build Management: Delete builds from the project
Team Control: Add or remove team members
Permission Management: Grant or revoke admin privileges
Project Settings: Configure project preferences
Advanced Features:
API Access: Execute CURL commands for remote build uploads
Integration Setup: Configure external tool integrations
Advanced Settings: Access all project configuration options
Audit Controls: View detailed audit logs and activity
Standard Access
Regular members can perform standard testing activities:
Testing Activities:
Test Execution: Run manual and automated tests
Build Testing: Test all available builds
Report Generation: Create and view test reports
Collaboration: Work with team members on testing
Restricted Actions:
Project Structure: Cannot modify project structure
Team Management: Cannot add/remove team members
Build Deletion: Cannot delete builds
Admin Settings: Cannot access admin-only features
Project Creator Privileges
The project creator automatically receives admin privileges and has full control over the project.
This includes:
Full administrative access
Ability to grant admin rights to others
Complete project control
Cannot have admin rights revoked
Project Admin vs. RobusTest Admin
Project Admin: Limited to their specific project RobusTest Admin: Platform-wide administrative access
Key Difference:
Project Admins: Single project scope
RobusTest Admins: Cross-project access
π Security Best Practices
Team Management Tips:
Principle of Least Privilege: Grant minimum necessary permissions
Regular Reviews: Periodically review team member access
Admin Assignments: Carefully consider who gets admin privileges
Activity Monitoring: Monitor team member activities for security
Remote Build Upload (API)ο
Note
Admin Only: This section is only visible to project admin members for security reasons.
The Remote Build Upload section provides powerful API capabilities for automating build uploads to your project, enabling seamless CI/CD integration.
Automated Build Pipeline
Continuous Integration: Automatically upload builds from CI systems
Build Automation: Trigger uploads after successful builds
Pipeline Integration: Connect with Jenkins, GitLab CI, GitHub Actions
Workflow Automation: Reduce manual upload steps
Why Use API Upload
Time Savings: Eliminate manual upload steps
Consistency: Ensure all builds follow the same process
Reliability: Reduce human error in build management
Scalability: Handle multiple projects and builds efficiently
API Command Structureο
The Remote Build Upload uses a standardized CURL command format:
curl -X PUT '<RobusTest URL>/v3/project/<PROJECT IDENTIFIER>/build?accesskey=<USER ACCESS KEY>' \
-H 'content-Type: multipart/form-data' \
-F 'build=@<BUILD NAME WITH PATH>' \
-F 'buildInfo={"desc":"<build description>", "label":"<label>","activityClass":"<launch activity>"}'
Command Parameters Explainedο
Letβs break down each component of the API command:
Platform Access URL
The URL that you use to access the RobusTest platform
Format Examples:
IP-based: http://192.168.1.100:8085
Domain-based: http://robustest.company.com:8085
Secure: https://robustest.company.com
Tip
Finding Your URL: Use the same URL you access RobusTest from your browser
Project ID Extraction
The unique identifier for your project, extracted from the dashboard URL
How to Find:
Go to your Project Dashboard
Look at the URL: <RobusTest URL>/#/project/<Project ID>/dashboard
Copy the Project ID from the URL
Example:
URL: http://robustest.company.com:8085/#/project/5d176ffef0238be8f3b7afa5/dashboard
Project ID: 5d176ffef0238be8f3b7afa5
Authentication Token
Each user has a unique access key for API authentication
Key Features:
User-Specific: Each team member has their own key
Build Attribution: Uploads are attributed to the key owner
Security: Secure authentication method
Customizable: Can use different team member keys
See also
See User Profile for details on obtaining your User Access Key
Build File Location
The path to your build file on the filesystem
Examples:
Absolute Path: /home/user/builds/app-v1.2.3.apk
Relative Path: ./builds/latest.apk
CI Path: $WORKSPACE/app/build/outputs/apk/release/app-release.apk
Tip
CI Integration: Use environment variables for dynamic paths
Optional Build Information
Additional details about the build (JSON format)
Available Fields:
desc: Build description
label: Build label/version
activityClass: Launch activity
Example:
{
"desc": "Release build v1.2.3 - Bug fixes",
"label": "v1.2.3",
"activityClass": "com.example.MainActivity"
}
Sample Implementationο
Hereβs a complete example of the remote build upload command:
curl -X PUT 'http://robustest.company.com:8085/v3/project/5d176ffef0238be8f3b7afa5/build?accesskey=aY33cDmkt7B2nAjxBl6Tp2FWv4' \
-H 'content-Type: multipart/form-data' \
-F 'build=@/builds/myapp-v1.2.3.apk' \
-F 'buildInfo={"desc":"Release build v1.2.3 with bug fixes", "label":"v1.2.3"}'
CI/CD Integration Examplesο
Jenkins Pipeline Example
pipeline {
agent any
stages {
stage('Build') {
steps {
// Your build steps here
sh './gradlew assembleRelease'
}
}
stage('Upload to RobusTest') {
steps {
script {
def buildPath = "app/build/outputs/apk/release/app-release.apk"
def buildInfo = """{"desc":"Jenkins build ${BUILD_NUMBER}", "label":"${BUILD_TAG}"}"""
sh """
curl -X PUT '${ROBUSTEST_URL}/v3/project/${PROJECT_ID}/build?accesskey=${ACCESS_KEY}' \
-H 'content-Type: multipart/form-data' \
-F 'build=@${buildPath}' \
-F 'buildInfo=${buildInfo}'
"""
}
}
}
}
}
GitHub Actions Workflow
name: Build and Upload to RobusTest
on:
push:
branches: [ main ]
jobs:
build-and-upload:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build APK
run: ./gradlew assembleRelease
- name: Upload to RobusTest
run: |
curl -X PUT '${{ secrets.ROBUSTEST_URL }}/v3/project/${{ secrets.PROJECT_ID }}/build?accesskey=${{ secrets.ACCESS_KEY }}' \
-H 'content-Type: multipart/form-data' \
-F 'build=@app/build/outputs/apk/release/app-release.apk' \
-F 'buildInfo={"desc":"GitHub Actions build ${{ github.run_number }}", "label":"${{ github.sha }}"}'
GitLab CI Pipeline
stages:
- build
- upload
build:
stage: build
script:
- ./gradlew assembleRelease
artifacts:
paths:
- app/build/outputs/apk/release/app-release.apk
upload_to_robustest:
stage: upload
script:
- |
curl -X PUT "${ROBUSTEST_URL}/v3/project/${PROJECT_ID}/build?accesskey=${ACCESS_KEY}" \
-H 'content-Type: multipart/form-data' \
-F 'build=@app/build/outputs/apk/release/app-release.apk' \
-F "buildInfo={\"desc\":\"GitLab CI build ${CI_PIPELINE_ID}\", \"label\":\"${CI_COMMIT_SHORT_SHA}\"}"
Shell Script Example
#!/bin/bash
# Configuration
ROBUSTEST_URL="http://robustest.company.com:8085"
PROJECT_ID="5d176ffef0238be8f3b7afa5"
ACCESS_KEY="aY33cDmkt7B2nAjxBl6Tp2FWv4"
BUILD_PATH="/path/to/your/build.apk"
# Build information
BUILD_DESC="Automated build $(date '+%Y-%m-%d %H:%M:%S')"
BUILD_LABEL="v$(cat version.txt)"
# Upload command
curl -X PUT "${ROBUSTEST_URL}/v3/project/${PROJECT_ID}/build?accesskey=${ACCESS_KEY}" \
-H 'content-Type: multipart/form-data' \
-F "build=@${BUILD_PATH}" \
-F "buildInfo={\"desc\":\"${BUILD_DESC}\", \"label\":\"${BUILD_LABEL}\"}"
echo "Build uploaded successfully!"
Best Practicesο
Protect Your Credentials
Environment Variables: Store access keys in environment variables
Secret Management: Use CI/CD secret management systems
Key Rotation: Regularly rotate access keys
Access Control: Limit who has access to API keys
Warning
Never commit access keys to version control
Optimize Your Workflow
Build Validation: Verify build success before upload
Error Handling: Implement proper error handling
Notifications: Set up notifications for upload status
Metadata: Include meaningful build descriptions
Tip
Test Automation: Trigger automated tests after successful uploads
4. Settings
This section provides you the following options:
a. Enable notifications - On enabling this checkbox, each member of the team is notified whenever a new build is uploaded to the project
b. Choose Bug Tracker configuration - RobusTest supports Continuous Integration with your existing CI tools through APIs.
Once you have integrated your Bug Tracker tool wih RobusTest, this configuration will be available for selection in the βBug Trackerβ drop down. Once the required configuration is selected, all bugs encountered during your testing can be logged directly, from RobusTest, into the tool of your choice.
You can configure your project with the tool of your choice through the βIntegrationβ section of the RobusTest Admin Console.