You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
roundcubemail/tests/Selenium
Thomas Bruederli 9311fea09b Add utility functiion to get an elemet's text content also when running tests in PhantomJS 10 years ago
..
Addressbook Added automated in-browser tests (PHPUnit + Selenium Web Driver) 12 years ago
Mail Add utility functiion to get an elemet's text content also when running tests in PhantomJS 10 years ago
Settings Populate IMAP test account with sample message and test its listing in Selenium tests 10 years ago
data Add more utility functions to prepare the IMAP account used for testing 10 years ago
Login.php Populate IMAP test account with sample message and test its listing in Selenium tests 10 years ago
Logout.php Added automated in-browser tests (PHPUnit + Selenium Web Driver) 12 years ago
README.md Describe Selenium testing setup and provide a function to clear the SQL database 11 years ago
bootstrap.php Add utility functiion to get an elemet's text content also when running tests in PhantomJS 10 years ago
index.html Add dummy index.html file for Selenum tests 12 years ago
phpunit.xml Populate IMAP test account with sample message and test its listing in Selenium tests 10 years ago

README.md

Running Selenium Tests

In order to run the Selenium-based web tests, some configuration for the Roundcube test instance need to be created. Along with the default config for a given Roundcube instance, you should provide a config specifically for running tests. To do so, create a config file named config-test.inc.php in the regular Roundcube config dir. That should provide specific db_dsnw and default_host values for testing purposes as well as the credentials of a valid IMAP user account used for running the tests with.

Add these config options used by the Selenium tests:

  // Unit tests settings
  $config['tests_username'] = 'roundcube.test@example.org';
  $config['tests_password'] = '<test-account-password>';
  $config['tests_url'] = 'http://localhost/roundcube/index-test.php';

The tests_url should point to Roundcube's index-test.php file accessible by the Selenium web browser.

WARNING

Please note that the configured IMAP account as well as the Roundcube database configred in db_dsnw will be wiped and filled with test data in every test run. Under no circumstances you should use credentials of a production database or email account!

Run the tests

First you need to start a Selenium server. We recommend to use the Selenium Standalone Server but the tests will also run on a Selenium Grid. The tests are based in PHPUnit_Selenium which can be installed through PEAR.

To start the test suite call phpunit from the Selenium directory:

  cd <roundcube-dir>/tests/Selenium
  phpunit