Ruby имеет этот отличный слой абстракции поверх Selenium под названием Capybara, который вы можете использовать для тестирования функциональности/принятия/интеграции. У него также есть другая библиотека под названием Cucumber, которая делает это еще дальше и позволяет писать тесты на английском языке.
Обе библиотеки построены поверх Selenium и могут использоваться для тестирования против любого крупного браузера, но из-за их слоев абстракции очень легко написать тесты, используя их (ну, как легко, как функциональное тестирование получается как минимум).
Мой вопрос: у Python есть что-то подобное? Я обнаружил, что Pythonistas выполняет функциональное тестирование с помощью различных инструментов, но...
A) Splinter: не использует Selenium (и не имеет IE-драйвера)
-Edit - Похоже, что Spliter теперь использует Selenium (см. Ответы ниже).
B) Alfajor: не обновляется более года; выглядит мертвым
C) Selenium (raw): многие люди, кажется, используют Selenium напрямую, но кажется, что слой абстракции может сделать его намного проще в использовании.
Итак, кто-нибудь знает что-то вроде Capybara-like или, еще лучше, Cucumber-like, для 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 |
Я бы ЛЮБЛЮ эквивалент Pucon Cucumber, но даже эквивалент Capybara был бы полезен.