[RCD] Automated in-browser tests

Aleksander Machniak alec at alec.pl
Thu Jan 2 20:44:24 CET 2020

TL;DR: We have Roundcube in-browser tests on Travis.

I rewrote old Selenium-based tests created long time ago. These were not
working and I guess no one payed attention to them. Now, it should be
easier and better in many ways.

New code uses Laravel's Dusk (and Facebook/WebDriver) with PHPUnit which
is a nice and powerful framework for functional testing.

This means:
- setting up testing environment is very easy,
- writing tests is simpler and we can do much more,
- thanks to SQLite and GreenMail software you don't need a real
IMAP/SMTP nor database server, you also don't need a HTTP server,
- we test Elastic only, and we test all modes desktop/tablet/phone.
- via Travis tests are executed on every commit and pull request. Which
technicly means you don't even need PHP to write tests, just write code
and do a pull request ;).

Now, I would love to see pull requests coming that add some more
in-browser tests. If you'd like to give it a go, I propose to start with
Preferences UI tests. There's Settings/Preferences/General.php file you
can use as a base for testing other Preferences sections.

See also tests/Browser/README.md

Happy New Year everybody!

Aleksander Machniak
Kolab Groupware Developer        [https://kolab.org]
Roundcube Webmail Developer  [https://roundcube.net]
PGP: 19359DC1 # Blog: https://kolabian.wordpress.com

More information about the dev mailing list