BDD with Python, Behave and WebDriver
Behave is a Python BDD plugin which makes it easy to write tests in a natural language style.
To get started, make sure you have installed Behave:
$ pip install behave
You are now ready to create your first story and run it on our Selenium grid.
Run the test with:
$ behave
Example feature (features/google.feature)
Feature: testing google
Scenario: visit google and check
When we visit google
Then it should have a title "Google"
Example steps (features/steps/steps.py)
@when('we visit google')
def step(context):
context.browser.get('http://www.google.com')
@then('it should have a title "Google"')
def step(context):
assert context.browser.title == "Google"
Example features/environment.py
from selenium import webdriver
def before_all(context):
desired_capabilities = webdriver.DesiredCapabilities.FIREFOX
desired_capabilities['version'] = '12'
desired_capabilities['platform'] = 'WINDOWS'
desired_capabilities['name'] = 'Testing Selenium 2 with Behave'
desired_capabilities['client_key'] = 'key'
desired_capabilities['client_secret'] = 'secret'
context.browser = webdriver.Remote(
desired_capabilities=desired_capabilities,
command_executor="http://hub.testingbot.com:4444/wd/hub"
)
def after_all(context):
context.browser.quit()
Besides Behave support we have documentation for Lettuce and PyUnit:
When writing tests with Python, it might be convenient to consult the Python Selenium docs.
