LambdaTest not working? You’re not alone. This troubleshooting guide covers the most common LambdaTest issues and their solutions—slow tests, timeout errors, tunnel problems, emulator substitution, and session limits.
Note: LambdaTest has rebranded to TestMu AI. The information in this article still applies to the platform under its new name.
All fixes are based on official documentation and verified user reviews from G2, Capterra, TrustRadius, and PeerSpot.
Need setup help first? See our LambdaTest Setup Guide.
LambdaTest Slow: Fix Test Execution Speed
The most frequently reported LambdaTest issue across all review platforms is slow performance. For a comprehensive deep dive on this topic, see LambdaTest Slow? HyperExecute Limits & Performance Fixes.
What Users Report
“Performance issue in real device testing - it is very slow sometimes even the internet is stable.”
— TrustRadius Review
“Test execution could get a bit slow during peak hours.”
— Capterra Review
“Real devices are little bit laggy. Session disconnect issue.”
— TrustRadius Review
“The loading time is extremely long when I test the webpages on the mobile viewports which makes me to rather use developer tools instead of the LambdaTest.”
— Software Advice Review
Causes
- Peak hour congestion — Shared infrastructure gets busy
- Network latency — Distance to data center
- VPN interference — Extra routing slows connections
- Wrong data center — Not using closest region
- Resource-heavy tests — Large files, complex pages
Solutions
1. Choose the closest data center:
# US teams
command_executor = "https://hub.lambdatest.com/wd/hub"
# EU teams
command_executor = "https://hub.eu.lambdatest.com/wd/hub"
# APAC teams
command_executor = "https://hub.ap.lambdatest.com/wd/hub"
2. Run tests during off-peak hours:
- US peak: 9 AM - 6 PM PST
- Consider running overnight or early morning
3. Disable VPN or whitelist LambdaTest:
If using VPN, either:
- Disable during tests
- Whitelist LambdaTest domains:
*.lambdatest.com*.lambdatest.io
4. Enable HyperExecute for faster orchestration:
# HyperExecute claims 70% faster execution
"LT:Options": {
"hyperExecute": True
}
5. Optimize test design:
- Reduce unnecessary waits
- Use explicit waits instead of sleep()
- Minimize large file uploads during tests
If Nothing Works
If performance remains unacceptable, consider:
- BrowserStack — Users report more consistent performance
- Your own devices — No shared infrastructure congestion
LambdaTest Emulator Instead of Real Device
This LambdaTest issue is unique and the most concerning problem reported by users.
What Users Report
“Requested iPhone 14 Pro for testing, got an emulator instead. No warning, no notification. Discovered only when device-specific features failed. This happens 70% of the time.”
— Capterra Review
“Testing our mobile banking app’s biometric features. Emulators can’t test FaceID or TouchID, making our security testing impossible.”
— Same reviewer
Impact
- Biometric testing fails — FaceID, TouchID, fingerprint don’t work on emulators
- Camera testing fails — Emulators simulate cameras differently
- GPS testing unreliable — Emulated location behavior differs
- Performance metrics invalid — Emulators don’t match real device performance
Solutions
1. Explicitly request real devices:
capabilities = {
"platformName": "iOS",
"deviceName": "iPhone 14 Pro",
"isRealMobile": True, # Explicitly request real device
"LT:Options": {
# ...
}
}
2. Verify you got a real device:
Add a check at test start:
def verify_real_device(driver):
# Check for emulator indicators
page_source = driver.page_source
if "emulator" in page_source.lower():
raise Exception("Got emulator instead of real device")
# For iOS, check device model
# Real devices have specific model identifiers
3. Contact support:
If emulator substitution persists, file a support ticket with:
- Session ID
- Requested device
- Screenshot showing emulator behavior
If This Is a Dealbreaker
For teams where guaranteed real devices are critical:
- BrowserStack — No reported emulator substitution issues
- Your own devices — Guaranteed real hardware you control
LambdaTest Timeout Error: How to Fix
Common Error Messages
Error: Session timed out
Error: Command timeout exceeded
Error: Idle timeout - no commands received
Causes
- Default timeouts too short — Idle: 120s, Command: 600s
- Network latency — Commands take longer to reach
- Missing driver.quit() — Sessions left hanging
- Slow application — App takes longer than expected
Solutions
1. Increase timeouts:
"LT:Options": {
"idleTimeout": 300, # 5 minutes between commands
"commandTimeout": 900, # 15 minutes per command
"build": "my-build",
# ...
}
2. Always call driver.quit():
try:
driver = webdriver.Remote(...)
# Your test code
driver.find_element(By.ID, "submit").click()
except Exception as e:
print(f"Test failed: {e}")
finally:
driver.quit() # CRITICAL - always clean up
3. Use context managers:
from contextlib import contextmanager
@contextmanager
def lambdatest_driver(capabilities):
driver = webdriver.Remote(
command_executor="https://hub.lambdatest.com/wd/hub",
desired_capabilities=capabilities
)
try:
yield driver
finally:
driver.quit()
# Usage
with lambdatest_driver(caps) as driver:
driver.get("https://example.com")
# Test automatically cleans up
4. Check for network issues:
# Test connectivity to LambdaTest
ping hub.lambdatest.com
curl -I https://hub.lambdatest.com
LambdaTest Session Limit Reached: Fix
Error Message
Error: Session Limit reached. Please upgrade your plan or wait for existing sessions to complete.
Causes
- Concurrent session limit hit — Plan has maximum parallels
- Orphaned sessions — Tests crashed without driver.quit()
- Organization-wide limit — Shared across all team members
Solutions
1. Check active sessions:
Dashboard → Realtime → Sessions
Look for:
- Stuck sessions
- Sessions from crashed tests
- Sessions from other team members
2. Manually close orphaned sessions:
# List active sessions
curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
"https://api.lambdatest.com/automation/api/v1/sessions?status=running"
# Stop a specific session
curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
-X PUT \
"https://api.lambdatest.com/automation/api/v1/sessions/{session_id}/stop"
3. Add cleanup in CI/CD:
# GitHub Actions example
- name: Cleanup orphaned sessions
if: always()
run: |
curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
"https://api.lambdatest.com/automation/api/v1/sessions?status=running" | \
jq -r '.data[].session_id' | \
xargs -I {} curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
-X PUT "https://api.lambdatest.com/automation/api/v1/sessions/{}/stop"
4. Implement session queue:
import time
def wait_for_session_slot(max_wait=300):
"""Wait for available session slot"""
start = time.time()
while time.time() - start < max_wait:
# Check session count via API
# If under limit, proceed
# Otherwise wait
time.sleep(10)
raise Exception("Timeout waiting for session slot")
LambdaTest Tunnel Not Connecting: Fix
Common Errors
Error: Tunnel connection failed
Error: Unable to establish secure connection
Error: LT can't be opened (macOS)
Causes
- Firewall blocking — Outbound connections restricted
- Wrong credentials — Username/access key incorrect
- macOS security — Gatekeeper blocking binary
- VPN conflict — Routing issues
- Port blocked — Required ports not accessible
Solutions
1. Check credentials:
# Verify credentials work
curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
"https://api.lambdatest.com/automation/api/v1/platforms"
2. macOS Catalina+ fix:
# Allow the binary
xattr -d com.apple.quarantine ./LT
# Or go to System Preferences → Security & Privacy → Allow
3. Run with verbose logging:
./LT --user $LT_USERNAME --key $LT_ACCESS_KEY \
--tunnelName my-tunnel \
--verbose \
--logFile tunnel-debug.log
4. Whitelist required domains/IPs:
Ensure firewall allows:
*.lambdatest.com*.lambdatest.io- Ports: 443, 80
5. Check tunnel status:
# API to check tunnel status
curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
"https://api.lambdatest.com/automation/api/v1/tunnels"
LambdaTest Localhost Refused to Connect: Fix
Causes
- Not using tunnel — Internal apps need tunnel
- Wrong URL format — Using
localhostdirectly - Tunnel not connected — Started but not ready
- Webpack host check — Dev server rejecting requests
Solutions
1. Use localhost.lambdatest.com:
# Instead of
driver.get("http://localhost:3000")
# Use
driver.get("http://localhost.lambdatest.com:3000")
2. Ensure tunnel is running and referenced:
"LT:Options": {
"tunnel": True,
"tunnelName": "my-tunnel" # Must match running tunnel
}
3. Fix webpack host check (Angular/React):
# Angular
ng serve --disable-host-check
# React/Webpack
webpack serve --allowed-hosts all
Or in webpack.config.js:
devServer: {
allowedHosts: 'all'
}
4. Wait for tunnel connection:
# Look for this message before running tests
"Tunnel successfully connected"
LambdaTest App Not Found Error: Fix
Common Errors
Error: App not found
Error: Invalid app URL
Error: App upload failed
Causes
- App expired — Apps deleted after 60 days
- Wrong app_url format — Not using lt:// prefix
- Upload failed silently — Check response carefully
- File too large — Size limits apply
Solutions
1. Re-upload the app:
curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
--location --request POST \
"https://manual-api.lambdatest.com/app/upload/realDevice" \
--form "appFile=@/path/to/app.apk" \
--form "name=my-app"
2. Verify upload response:
{
"app_id": "APP123456789",
"app_url": "lt://APP123456789", // Use this in capabilities
"name": "my-app.apk",
"status": "success"
}
3. Use correct format:
capabilities = {
"app": "lt://APP123456789", # Include lt:// prefix
# ...
}
4. Set up CI/CD auto-upload:
# Upload and export URL for tests
APP_RESPONSE=$(curl -u "$LT_USERNAME:$LT_ACCESS_KEY" \
--location --request POST \
"https://manual-api.lambdatest.com/app/upload/realDevice" \
--form "[email protected]")
export LT_APP_URL=$(echo $APP_RESPONSE | jq -r '.app_url')
LambdaTest Backend Instability Issues
What Users Report
“The UI looks modern but Backend is not stable - pretty interface hiding a broken backend. LambdaTest Security bugs are another nightmare.”
— Capterra Review
“Stability ratings vary, with some users giving it a seven out of ten, while others rate it lower due to crash tests during mobile execution.”
— PeerSpot Review
Symptoms
- Tests pass locally but fail on LambdaTest
- Inconsistent test results
- Random session crashes
- API errors during test execution
Solutions
1. Add retry logic:
import tenacity
@tenacity.retry(
stop=tenacity.stop_after_attempt(3),
wait=tenacity.wait_exponential(multiplier=1, min=4, max=10),
retry=tenacity.retry_if_exception_type(WebDriverException)
)
def run_test_with_retry():
driver = create_driver()
try:
# Your test
pass
finally:
driver.quit()
2. Check LambdaTest status:
Before debugging extensively, check status.lambdatest.com for outages.
3. Capture detailed logs:
"LT:Options": {
"console": True,
"network": True,
"video": True,
"devicelog": True
}
LambdaTest Issues Persist: Consider Alternatives
If you’re experiencing multiple LambdaTest problems consistently:
Performance Issues Persist
“The loading time is extremely long… makes me rather use developer tools instead.”
Consider: BrowserStack — Users report more consistent performance, though 20% higher cost.
Emulator Substitution Is Unacceptable
“This happens 70% of the time… making our security testing impossible.”
Consider: Your own devices via DeviceLab — Guaranteed real hardware, no substitution.
Cost at Scale Is Prohibitive
“It costs about $30,000 a month, which is quite expensive.”
Consider: Self-hosted solutions — $99/device/month vs $159/parallel/month at scale. See our complete LambdaTest pricing breakdown for cost details.
Data Privacy Requirements
If your app handles sensitive data:
Consider: Running tests on your own infrastructure where data never leaves your network.
LambdaTest Troubleshooting Checklist
When LambdaTest isn’t working, check these items:
| Check | Command/Action |
|---|---|
| Credentials valid? | curl -u "$LT_USERNAME:$LT_ACCESS_KEY" https://api.lambdatest.com/automation/api/v1/platforms |
| Correct data center? | Match hub URL to your region |
| Tunnel running? | Check process: `ps aux |
| Tunnel connected? | Look for “Tunnel successfully connected” |
| App uploaded? | Check response for app_url |
| App not expired? | Re-upload if older than 60 days |
| Session limit? | Dashboard → Realtime → Sessions |
| Timeouts set? | Add idleTimeout, commandTimeout |
| driver.quit() called? | Add to finally block |
| LambdaTest status? | Check status.lambdatest.com |
Getting Help
LambdaTest Support
- Documentation: lambdatest.com/support/docs/
- Chat: Available on website (business hours)
- Email: [email protected]
Community Resources
LambdaTest Not Working: Quick Fixes Summary
| Issue | Most Common Fix |
|---|---|
| Slow tests | Choose closest data center, run off-peak |
| Emulator substitution | Set isRealMobile: true, contact support |
| Timeout errors | Increase idleTimeout and commandTimeout |
| Session limit | Close orphaned sessions, always call driver.quit() |
| Tunnel not connecting | Check credentials, whitelist domains, fix macOS security |
| localhost refused | Use localhost.lambdatest.com, ensure tunnel running |
| App upload failures | Re-upload, use lt:// prefix in capabilities |
| Backend instability | Add retry logic, check status page |
Still having issues? If LambdaTest problems persist, consider alternatives like BrowserStack for better stability, or your own devices for guaranteed real hardware—first device free, $99/device/month after.
See how DeviceLab compares to the giants: vs BrowserStack | vs Sauce Labs | Read the Cost Analysis →