Есть ли у 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 был бы полезен.