BigBlueButton is an open source teaching platform. If you are using it, then the script provided here is a great starting point.
Preparation
Create an account
To use this test script, you first need to have an account on the BigBlueButton demo:
- Head to https://demo.bigbluebutton.org/
- Click the Sign In button on the top right of the
page
- Once you create an account, you will be directed to your dashboard
- Find the room URL – you will need it for the next step
Update the test script
In testRTC, create a new test script:
- Copy the code from the bottom of this article to your test script
- Decide the number of probes you want to use
- Concurrent probes: 2 concurrent probes would be good starting point – keep it at an even number (you need pairs of probes for this)
- Set the Session size to the number of concurrent probes for this sample
- Copy the Room URL from your BigBlueButton demo page to the
Service URL of the script
Test execution
Follow these steps:
- Click on the big blue Start button on your BigBlueButton demo page (pun intended)
- Once you enter the room (a few more clicks to setup the session), click on the Run button on your testRTC test script
Test script code
var probeType = Number(process.env.RTC_IN_SESSION_ID);
var sec = 1000;
var userName = "test" + probeType;
// Join the room
client
.rtcInfo(process.env.RTC_SERVICE_URL)
.rtcProgress('open ' + process.env.RTC_SERVICE_URL)
.url(process.env.RTC_SERVICE_URL)
.waitForElementVisible('input[placeholder="Enter your name!"]', 60 * sec)
.pause(300) //wait for page render
.setValue('input[placeholder="Enter your name!"]', userName)
.click("#room-join")
.waitForElementVisible('button[aria-label="Microphone"]', 60 * sec)
.pause(300) //wait for page render
.click('button[aria-label="Microphone"]')
.waitForElementVisible('button[aria-label="Echo is audible"]', 60 * sec)
.pause(300) //wait for page render
.click('button[aria-label="Echo is audible"]')
.waitForElementVisible('button[aria-label="Share webcam"]', 60 * sec)
.pause(300) //wait for page render
.click('button[aria-label="Share webcam"]')
.waitForElementVisible('button[aria-label="Start sharing"]', 60 * sec)
.pause(300) //wait for page render
.click('button[aria-label="Start sharing"]')
.waitForElementVisible('button[aria-label="Hide presentation"]', 60 * sec)
.pause(300) //wait for page render
.click('button[aria-label="Hide presentation"]')
.pause(60 * sec)
.rtcScreenshot("in call")
.pause(60 * sec);