Jump to content

Капибара (программное обеспечение)

Капибара
Разработчик(и) Томас Уолпол
Стабильная версия
3.40.0 [1]  Отредактируйте это в Викиданных / 27 января 2024 г .; 6 месяцев назад ( 27 января 2024 г. )
Репозиторий
Написано в Руби
Операционная система Кросс-платформенный
Тип разработки, основанная на поведении Платформа / Инструмент тестирования
Лицензия МОЯ лицензия
Веб-сайт командакапибара .github .что / капибара /

Capybara — это веб-программное обеспечение для автоматизации тестирования , которое моделирует сценарии для пользовательских историй и автоматизирует веб-приложений тестирование для разработки программного обеспечения на основе поведения . Он написан на языке программирования Ruby .

Capybara может имитировать действия реальных пользователей, взаимодействующих с веб-приложениями. Он может получать страницы, анализировать HTML и отправлять формы . [2]

Предыстория и мотивация

[ редактировать ]

В процессе разработки программного обеспечения (особенно в средах гибкой разработки и разработки через тестирование ), поскольку размер тестов увеличивается, становится сложнее управлять сложными и немодульными тестами. [2]

Расширяя удобочитаемый стиль разработки, основанный на поведении, таких фреймворков, как Cucumber и RSpec, в сам код автоматизации, Capybara стремится разрабатывать простые автоматизированные веб-тесты. [3]

Анатомия капибары

[ редактировать ]

Capybara — это библиотека Ruby (также называемая драгоценным камнем ), которая используется с базовым веб-драйвером. Он состоит из удобного для пользователя DSL (языка, специфичного для предметной области), который описывает действия, выполняемые базовым веб-драйвером. [4]

Когда страница загружается с использованием DSL (и базового веб-драйвера), Capybara попытается найти соответствующий элемент в DOM (объектной модели документа) и выполнить такое действие, как нажатие кнопки, ссылки и т. д.

Драйверы

[ редактировать ]

По умолчанию Капибара использует :rack_test драйвер, который не поддерживает выполнение JavaScript . Драйверы можно переключать в блоках «До» и «После». Некоторые веб-драйверы, поддерживаемые Capybara, упомянуты ниже.

Написанный на Ruby драйвер Capybara RackTest по умолчанию не требует запуска сервера, поскольку он напрямую взаимодействует с Rack интерфейсами . Следовательно, его можно использовать только для стоечных приложений.

Selenium -webdriver, который в основном используется в веб-средах автоматизации, поддерживается Capybara. В отличие от драйвера Capybara по умолчанию, он поддерживает JavaScript, может получать доступ к HTTP-ресурсам вне приложения, а также может быть настроен для тестирования в автономном режиме, что особенно полезно для сценариев CI. [4]

Веб-кит капибары

[ редактировать ]

Драйвер Capybara-webkit (драгоценный камень) используется для настоящего автономного тестирования браузера с поддержкой JavaScript. Он использует QtWebKit и значительно быстрее Selenium, поскольку не загружает весь браузер.

Capybara находит элемент либо с помощью специфичного для предметной области языка , либо с помощью селекторов XPath / CSS . Частичные совпадения могут привести к неожиданным результатам. Два или более совпадений могут даже привести к сбою с ошибкой неоднозначного совпадения. Ниже приведены стратегии сопоставления, поддерживаемые Capybara: [4]

first: выберите первый элемент, который соответствует. Не желательно использовать.

one: разрешить совпадение только одного элемента. Ошибка возникает, если совпадений более одного.

умный: если Capybara.exact имеет значение true, он ведет себя так же, как указанный выше вариант ( one ). Если Capybara.exact имеет значение false, сначала будет предпринята попытка найти точное совпадение. Неоднозначное исключение возникает, если найдено более одного совпадения. Если ни один элемент не найден, начинается новый поиск неточных совпадений. Опять же, если найдено более одного совпадения, возникает неоднозначное исключение.

«prefer_exact»: находит все совпадающие (точные и неточные) элементы. Если обнаружено несколько совпадений, то возвращается первый точно совпадающий элемент, остальные совпадения отбрасываются.

Использование

[ редактировать ]

Процесс регистрации пользователя

[ редактировать ]

Вот пример того, как выполняется проверка регистрации пользователя с помощью Capybara. Существует проверка, позволяющая определить, может ли пользователь продолжить процесс регистрации или есть ли какие-либо задержки. Если у него есть необходимые учетные данные, он будет зарегистрирован, а затем перенаправлен на страницу «Добро пожаловать». [5]

  describe 'UserRegistration' do
    it 'allows a user to register' do
      visit new_user_registration_path
      fill_in 'First name', :with => 'New'
      fill_in 'Last name', :with => 'User'
      fill_in 'Email', :with => '[email protected]'
      fill_in 'Password', :with => 'userpassword'
      fill_in 'Password Confirmation', :with => 'userpassword'
      click_button 'Register'
      page.should have_content 'Welcome'
    end
  end

Капибара с огурцом

[ редактировать ]

Пример функции Capybara, используемой с Cucumber:

When /^I want to add/ do
    fill_in 'a', :with => 100
    fill_in 'b', :with => 100
    click_button 'Add'
end

Капибара с RSpec

[ редактировать ]

Для использования Capybara с RSpec требуется некоторая минутная интеграция. [4] [6]

describe 'go to home page' do
  it 'opens the home page' do
    visit (get_homepage)
    expect(page).to have_content('Welcome')
  end
end

Похожие инструменты

[ редактировать ]

См. также

[ редактировать ]
  1. ^ «Выпуск 3.40.0» . 27 января 2024 г. Проверено 19 февраля 2024 г.
  2. ^ Перейти обратно: а б Фокс, Армандо; Паттерсон, Дэвид А. (2013). Инженерное программное обеспечение как услуга: гибкий подход с использованием облачных вычислений . ООО «Земляничный каньон». ISBN  9780984881246 .
  3. ^ Тестирование приложений с помощью Capybara . ISBN  9781783281268 .
  4. ^ Перейти обратно: а б с д «Основы капибары и улучшение ваших тестов» . СайтПоинт . 18 августа 2014 года . Проверено 8 февраля 2016 г.
  5. ^ «Интеграционное тестирование разработки с RSpec и Capybara» . garyrafferty.com . Архивировано из оригинала 21 января 2016 г. Проверено 16 февраля 2016 г.
  6. ^ Лисс, Джо. «Capybara (и Selenium) с RSpec и Rails 3: краткое руководство» . www.opinionatedprogrammer.com . Проверено 8 февраля 2016 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 98c32a801f22af932d44f98704f470a2__1717420440
URL1:https://arc.ask3.ru/arc/aa/98/a2/98c32a801f22af932d44f98704f470a2.html
Заголовок, (Title) документа по адресу, URL1:
Capybara (software) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)