Есть ли у Python что-нибудь вроде капибары / огурца?

Ruby имеет этот замечательный уровень абстракции над Selenium, который называется Capybara, который вы можете использовать для функционального тестирования, тестирования приемки и интеграции. Он также имеет другую библиотеку под названием Cucumber, которая делает этот шаг дальше и позволяет вам на самом деле писать тесты на английском языке.

Обе библиотеки построены на основе Selenium и могут использоваться для тестирования на любом крупном браузере, но из-за их уровней абстракции очень легко писать тесты с их использованием (ну, так же легко, как функциональное тестирование, по крайней мере).

Мой вопрос: есть ли у Python что-нибудь подобное? Я обнаружил, что Pythonistas выполняет функциональное тестирование с использованием различных инструментов, но ...

A) Splinter: не использует Selenium (и не имеет драйвера IE)

-РЕДАКТИРОВАТЬ- Похоже, что Spliter теперь использует Selenium (см. Ответы ниже).

B) Alfajor: не обновлялся более года; выглядит мертвым

C) Селен (необработанный): многие люди, кажется, используют Селен напрямую, но кажется, что слой абстракции может сделать его намного проще в использовании

Итак, кто-нибудь знает что-нибудь похожее на Capybara или, еще лучше, как Cucumber, для Python (он не должен фактически использовать Selenium, но он должен поддерживать все основные браузеры)?

* РЕДАКТИРОВАТЬ *

Для тех, кто не знаком с Capybara, он просто добавляет API, так что вместо обычного Selenium API вы можете сделать что-то вроде этого:

When /I sign in/ do
  within("#session") do
    fill_in 'Login', :with => '[email protected]'
    fill_in 'Password', :with => 'password'
  end
  click_link 'Sign in'
end

Он используется Cucumber, который позволяет вам дополнительно абстрагироваться (почти на английский):

Scenario Outline: Add two numbers
Given I have entered <input_1> into the calculator
And I have entered <input_2> into the calculator
When I press <button>
Then the result should be <output> on the screen

Examples:
| input_1 | input_2 | button | output |
| 20 | 30 | add | 50 |

Я бы ЛЮБИЛ эквивалент Python Cucumber, но даже простой эквивалент Capybara был бы полезен.

Ответы на вопрос(7)

Ваш ответ на вопрос