Automating Browser-Based Calling with Katalon: What’s Possible
Problem Analysis
You want to automate a calling workflow built on Zoom Web SDK where customers initiate calls, specialists receive notifications, join calls, and multiple participants can interact—all within a web application. The key question is: what can Katalon actually automate in this scenario?
The answer is nuanced: Katalon can automate the UI workflow (buttons, notifications, joining) but cannot automate or validate the actual audio/video communication itself.
What Katalon CAN Automate
UI Interactions & Workflow Steps:
- Clicking “Start Call” or “Initiate Call” buttons
- Waiting for and detecting notification badges/alerts when a call is initiated
- Clicking “Join Call” buttons for specialists and other participants
- Verifying call status indicators on the page
- Clicking “End Call” buttons
- Navigating through the calling interface
Multi-Browser Scenarios (With Limitations):
- Katalon can open multiple browser instances simultaneously using
WebUI.openBrowser()or direct Selenium WebDriver instantiation - You can simulate different participants (customer, specialist, another customer) by running separate browser sessions
- Each session can perform its assigned role independently
- According to Katalon community discussions, you can use
DriverFactory.changeWebDriver()to switch between multiple browser instances within a single test
Event & State Verification:
- Verify that UI elements appear/disappear at the right time
- Confirm notification badges display when calls are initiated
- Check that call status changes (e.g., “In Call” → “Call Ended”)
- Validate page elements are clickable and responsive
What Katalon CANNOT Automate
Audio/Video Streams:
- Katalon cannot capture, validate, or interact with WebRTC audio/video data
- WebRTC streams operate at the browser’s media layer, which is not accessible to test automation tools
- You cannot verify if audio is actually being transmitted or received between participants
Real-Time Communication Validation:
- Cannot measure call quality, latency, or packet loss
- Cannot validate that audio/video is flowing between participants
- Cannot simulate network conditions affecting the call
- WebRTC testing requires specialized tools designed specifically for real-time communication validation
Zoom Web SDK Internals:
- Cannot directly interact with Zoom SDK APIs or internal call state
- Limited ability to verify call metadata or participant information at the SDK level
Recommended Approach for Your Use Case
Option 1: UI-Level Workflow Testing (Recommended)
Automate the happy path to verify the calling workflow functions correctly:
- Browser 1 (Customer): Click “Start Call” button
- Browser 2 (Specialist): Wait for notification badge → Click “Join Call”
- Browser 3 (Another Participant): Wait for call status → Click “Join Call”
- All Browsers: Verify “In Call” status displays
- Browser 1: Click “End Call” → Verify call ends for all participants
Example approach:
// Open multiple browsers
WebUI.openBrowser('')
WebUI.navigateToUrl('https://your-calling-app.com')
def customerDriver = DriverFactory.getCurrentWebDriver()
WebUI.openBrowser('')
WebUI.navigateToUrl('https://your-calling-app.com')
def specialistDriver = DriverFactory.getCurrentWebDriver()
// Customer initiates call
DriverFactory.changeWebDriver(customerDriver)
WebUI.click(findTestObject('Object Repository/StartCallButton'))
// Specialist receives notification and joins
DriverFactory.changeWebDriver(specialistDriver)
WebUI.waitForElementPresent(findTestObject('Object Repository/CallNotification'), 10)
WebUI.click(findTestObject('Object Repository/JoinCallButton'))
// Verify both are in call
WebUI.verifyElementPresent(findTestObject('Object Repository/InCallStatus'))
Option 2: Hybrid Approach
- Use Katalon for UI workflow automation
- Use specialized WebRTC testing tools (like testRTC) for audio/video quality validation if needed
- Combine results in your test reports
Option 3: API-Level Testing
- If Zoom Web SDK exposes APIs for call state management, test those endpoints separately
- Verify call initiation, joining, and termination at the API level
- Use Katalon for UI verification alongside API tests
Key Considerations
Multi-Browser Limitations:
- Katalon Studio’s standard UI assumes single WebDriver instances. Multiple browser testing requires custom Groovy scripting with direct Selenium WebDriver management.
- For complex multi-participant scenarios, consider using Katalon TestCloud’s parallel test execution to run separate test cases for each participant role.
Notification Handling:
- Use
WebUI.waitForElementPresent()with appropriate timeouts to wait for notification badges - Verify notification content if possible (text, icons, etc.)
Zoom Web SDK Specifics:
- The Zoom Meeting SDK for web uses WebAssembly and JavaScript frameworks (React, Angular, Vue.js)
- Focus your automation on the UI layer that wraps the SDK, not the SDK internals
References
- Katalon Forum: Testing Multiple Browser Windows
- Katalon Docs: Parallel Test Case Execution
- Zoom Meeting SDK for Web Documentation
- WebRTC Testing & Troubleshooting Guide
- WebRTC Testing Online Guide
Bottom Line: You can absolutely automate the calling workflow UI with Katalon, but you’ll need to accept that actual audio/video validation is outside the scope of browser automation tools. Focus on verifying that the right buttons appear, notifications trigger, and participants can join—the actual communication quality would require separate monitoring tools.