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: "[email protected]" # 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:
...
To check automatically the code style execute the following commands in your Terminal window at the root of the repository:
$ composer install
$ vendor/bin/phpcs --extensions=php -p --standard=vendor/joomla/coding-standards/Joomla src