# Testing Domains

Behave and other BDD frameworks allow you to provide step libraries to reuse step definitions in similar projects that address the same problem domain.

## Step Libraries

Support of the following testing domains is currently known:

Testing Domain | Name | Description
--- | --- | ---
Command-line | behave4cmd | Test command-line tools, like behave, etc. (coming soon).
Web Apps | behave-django | Test Django Web apps with behave (solution 1).
Web Apps | django-behave | Test Django Web apps with behave (solution 2).
Web, SMS, … | behaving | Test Web Apps, Email, SMS, Personas (step library).

## Step Usage Examples

This examples show how you can use behave for testing a specific problem domain. This examples are normally not a full-blown step library (that can be reused), but give you an example (or prototype), how the problem can be solved.

Testing Domain | Name | Description
--- | --- | ---
GUI | Squish test | Use Squish and Behave for GUI testing (cross-platform).
Robot Control | behave4poppy | Use behave to control a robot via pypot.
Web | pyramid_behave | Use behave to test pyramid.
Web | pycabara-tutorial | Use pycabara (with behave and Selenium).

See also

- google-search: behave python example