Skip to main content

BigBlueButton sample test script

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:

  1. Head to https://demo.bigbluebutton.org/
  2. Click the Sign In button on the top right of the page

  3. Once you create an account, you will be directed to your dashboard
  4. Find the room URL – you will need it for the next step

Update the test script

In testRTC, create a new test script:

  1. Copy the code from the bottom of this article to your test script
  2. Decide the number of probes you want to use
    1. Concurrent probes: 2 concurrent probes would be good starting point – keep it at an even number (you need pairs of probes for this)
    2. Set the Session size to the number of concurrent probes for this sample
  3. Copy the Room URL from your BigBlueButton demo page to the Service URL of the script

Test execution

Follow these steps:

  1. Click on the big blue Start button on your BigBlueButton demo page (pun intended)
  2. 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);

Was this article helpful?

0 out of 0 found this helpful