Driver for remote Behat testing with Drupal
The remote API driver extends the popular Drupal Extention library to support running authenticated Behat tests against remote Drupal sites. Please note that there are two main components to this project:
- The Drupal Remote API Driver - This extends the existing functionality of the drupalextention project and translates supported steps (e.g. create nodes, users, etc.) into appropriate REST requests to the remote Drupal site. See "currently supported features" below. This component is only required on the site where tests will be initiated.
- The Drupal Remote API Client - This is a Drupal module that leveradges the RestWS module and adds various helper functionality that the driver needs in order to work propertly. It is only required on the remote sites that will be tested.
Please Note: This package requires Behat version 2 and DrupalExtention version 1.
- [Usage Examples] (features/drupalRemoteAPI.feature)
- Basic Auth + Drupal Auth
- Handling Custom Field Types / Structures
- Add a custom cookie to request headers
- Notes on Security
If anything is unclear or you have any questions or comments, please open an issue or contact me directly. While this library is functional, it's still a work in progress. Review, feedback, and contributions are welcome.
- Currently Supported
- Drupal 7
- Node creation / deletion / cleanup
- User creation / deletion / cleanup
- Term create / delete / cleanup (currently requires a patch to RestWS)
- Add existing user role to new user
- Set custom filter format based on tester defined preference or default from remote site
- Support for custom fields and tabular data
- Drupal Authentication for Remote Site
- Basic Auth
- Adding custom cookie to request header
- Clear cache
- Planned / In Progress:
- Support Image Reference / Upload
- Support for field collections
- Not Yet Supported:
- Run Cron
- Create new user role and assign to newly created users / delete role when finished
- Assign specific permissions to newly created user roles (with built in blacklist for added security).
- Batch process
- Support for Drupal 6
- Support for Drupal 8