bigbluebutton-Github/bigbluebutton-tests/playwright
2022-11-09 13:43:36 -05:00
..
api move two simple API routines from core/helpers.js to api/api.js 2022-11-07 17:00:55 -05:00
audio Links to the test plan 2022-06-20 20:52:00 -04:00
breakout Links to the test plan 2022-06-20 20:52:00 -04:00
chat Links to the test plan 2022-06-20 20:52:00 -04:00
connectionStatus Add new 2.5 shared notes tests 2022-07-20 15:44:09 -04:00
core testsuite console logging: still addressing SonarCloud issues 2022-11-09 13:43:36 -05:00
customparameters test 'Skip audio check' - clear default presentation toast or test can fail 2022-08-11 20:16:07 -04:00
notifications Merge pull request #15577 from BrentBaccala/firefox-ci 2022-08-23 11:01:08 -04:00
polling wait a bit longer for a slide conversion that might fail a test if too slow 2022-08-11 20:13:36 -04:00
presentation Merge remote-tracking branch 'origin/v2.5.x-release' into add-option-to-initPages 2022-07-06 19:00:23 +00:00
screenshare don't run Firefox screenshare tests without a DISPLAY (they don't work) 2022-08-22 17:00:43 -04:00
settings flag 'Test locales' as slow test so it doesn't timeout 2022-07-22 19:50:32 -04:00
sharednotes Add new 2.5 shared notes tests 2022-07-20 15:44:09 -04:00
stress update test usersJoinKeepingConnected 2022-07-22 17:44:46 -04:00
user Merge pull request #15236 from BrentBaccala/test-suite-updates 2022-07-27 09:37:54 -04:00
virtualizedlist Minor updates to the failing test specs 2022-04-27 08:46:15 -04:00
webcam Merge pull request #15236 from BrentBaccala/test-suite-updates 2022-07-27 09:37:54 -04:00
whiteboard test: fix/update tests on v2.5 2022-06-08 09:29:21 -03:00
.env.template add debug features 2022-02-28 18:21:50 -03:00
.gitignore add debug features 2022-02-28 18:21:50 -03:00
package-lock.json testsuite console logging: use npm package 'chalk' to parse colors 2022-11-09 13:43:36 -05:00
package.json testsuite console logging: use npm package 'chalk' to parse colors 2022-11-09 13:43:36 -05:00
playwright.config.js test: fix/update tests on v2.5 2022-06-08 09:29:21 -03:00
README.md testsuite console logging: handle Firefox, add five options and update README 2022-11-09 13:41:50 -05:00

BigBlueButton Playwright Tests

Tests for BigBlueButton using Playwright.

Setup (with an existing BigBlueButton server)

You need to install the dependencies:

$ cd ../bigbluebutton-tests/playwright
$ npm install
$ npx playwright install

You may also need to run the following command:

$ npx playwright install-deps

To run these tests with an existing BigBlueButton server, you need to find the server's URL and secret (can be done with bbb-conf --secret command). You need to put them into the .env file inside bigbluebutton-tests/playwright folder (variables BBB_URL and BBB_SECRET). Note: the value for BBB_URL follows the format of https://<hostname>/bigbluebutton/api.

Run tests

We recommend to use Node version 16 or higher to avoid errors in JavaScript. Tests can be executed using npx and npm test. You can run all tests in each of 3 supported environments (chromium, firefox, webkit) with one of the following commands:

$ npx playwright test
or
$ npm test

You can also run a single test suite and limit the execution to only one browser:

$ npx playwright test chat --browser=firefox
or
$ npm test chat -- --browser=firefox

Additional commands

To see the tests running visually, you must run them in headed mode:

$ npm run test:headed chat

If you want to run a specific test or a specific group of tests, you can do so with the following command:

$ npm run test:filter "Send public message"

(note that this filter needs to be passed in "double quotes")

You can also use this also through the test tree, adding the test suite / group of tests before the test filter:

$ npm run test:filter "notifications chat"

You can print the browser console log to standard output by setting the environment variable CONSOLE:

$ CONSOLE= npm test chat -- --project=firefox

CONSOLE can be blank (as in the example), or can be a comma-separated list of the following options:

Option Meaning
color (or "colour") colorize the output
label label each line with the BigBlueButton user
norefs remove JavaScript reference URLs
nots remove timestamps
nocl remove "clientLogger:" strings