Joomla Browser is a Codeception.com Module. It allows to build system tests
for a Joomla site much faster providing a set of predefined tasks.
In between the available functions you can find:
- INSTALLATION:
- install joomla
- install Joomla removing Installation Folder
- install Joomla Multilingual Site
- ADMINISTRATOR:
- do administrator login
- do administrator logout
- set error reporting to development
- search for item
- check for item existence
- publish a module
- setting a module position and publishing it
- EXTENSION MANAGER
- install extension from Folder
- install extension from url
- enable plugin
- uninstall extension
- search result plugin name
- FRONTEND:
- do frontend login
- ADMINISTRATOR USER INTERFACE:
- select option in chosen
- select Option In Radio Field
- select Multiple Options In Chosen
- OTHERS:
- check for php notices or warnings
The Joomla Browser is constantly evolving and more methods are being added every month. To find a full list of them check the public methods at: https://github.com/joomla-projects/joomla-browser/blob/develop/src/JoomlaBrowser.php
If you want to see a working example of JoomlaBrowser check weblinks tests: https://github.com/joomla-extensions/weblinks#tests
Update Composer.json file in your project, and download
composer require joomla-projects/joomla-browser:dev-develop
Finally make the following changes in Acceptance.suite.yml to add JoomlaBrowser as a Module.
Your original acceptance.suite.yml
probably looks like:
modules:
enabled:
- WebDriver
- AcceptanceHelper
config:
WebDriver:
url: 'http://localhost/joomla-cms3/' # the url that points to the joomla cms
browser: 'firefox'
window_size: 1024x768
capabilities:
unexpectedAlertBehaviour: 'accept'
AcceptanceHelper:
...
You should remove the WebDriver module and replace it with the JoomlaBrowser module:
config:
JoomlaBrowser:
url: 'http://localhost/joomla-cms/' # the url that points to the joomla installation at /tests/system/joomla-cms
browser: 'firefox'
window_size: 1024x768
capabilities:
unexpectedAlertBehaviour: 'accept'
username: 'admin'
password: 'admin'
database host: 'localhost' # place where the Application is Hosted #server Address
database user: 'root' # MySQL Server user ID, usually root
database password: '1234' # MySQL Server password, usually empty or root
database name: 'dbname' # DB Name, at the Server
database type: 'mysqli' # type in lowercase one of the options: MySQL\MySQLi\PDO
database prefix: 'jos_' # DB Prefix for tables
install sample data: 'Yes' # Do you want to Download the Sample Data Along with Joomla Installation, then keep it Yes
sample data: 'Default English (GB) Sample Data' # Default Sample Data
admin email: 'admin@mydomain.com' # email Id of the Admin
language: 'English (United Kingdom)' # Language in which you want the Application to be Installed
joomla folder: '/home/.../path to Joomla Folder' # Path to Joomla installation where we execute the tests
AcceptanceHelper:
...
Joomla Browser comes with a set of tools added via robo.li
To check automatically the code style execute the following commands in your Terminal window at the root of the repository:
$ composer install
$ vendor/bin/robo
$ vendor/bin/robo check:codestyle