Есть ли капибара для Node.js? - PullRequest
24 голосов
/ 29 сентября 2011

Кто-нибудь знает, есть ли что-нибудь похожее на капибару для Node.js?

Ответы [ 8 ]

12 голосов
/ 29 сентября 2011

Как насчет Zombie ?

Zombie.js

Безумно быстрое, безголовое полное тестирование с использованием Node.js

TheBite

Если вы собираетесь написать безумно быстрый, безголовый браузер, как вы можете не называть его Zombie Zombie, это так.

Zombie.js - это легковесный фреймворк для тестирования на стороне клиента.Код JavaScript в моделируемой среде.Браузер не требуется.

4 голосов
/ 06 июля 2015

Я разработчик рельсов, ставших узлами, и я всегда искал аналогию в мире JS для выигрышной комбинации RSpec / Capybara.Вот что я нашел, что мне нравится больше всего.

  • Мокко - для выполнения асинхронных тестов
  • Чай - для утверждений
  • Запрос - для обработки HTTP-запроса / ответа
  • Cheerio - для выбора элементов HTML изответы

Вот еще 1025 * сообщений о том, как настроить этот стек, включая непрерывный запуск теста.

Счастливого тестирования!

4 голосов
/ 27 августа 2012

Cucumber-JS - самое близкое, что вы получите в Javascript: https://github.com/cucumber/cucumber-js

Вы можете использовать библиотеку для управления JS, Headless и Selenium, однако ей не хватает общего API-интерфейса «капибара» между каждым изразные «миры».Есть хороший разговор по http://skillsmatter.com/podcast/agile-testing/cucumber-js-cuke-up-your-javascript и поддержке кода GitHub по https://github.com/jbpros/cukecipes

Я надеюсь, что когда закончится протокол соединения веб-драйвера phantomjs (https://github.com/detro/ghostdriver) и если Soda /Selenium (https://github.com/LearnBoost/soda) может управлять им, тогда безголовые тесты можно будет автоматизировать с помощью Selenium, что исключает необходимость в капибаре.

2 голосов
/ 08 декабря 2011

См. jelly.io :

Jellyfish - это проект Node, цель которого - облегчить запуск различных сред JavaScript и запуск вашего кода.

0 голосов
/ 17 июля 2019

Что касается приемочных испытаний, я интенсивно использовал Capybara для Rails.И я недоволен альтернативами, перечисленными здесь для NodeJS.Вам понадобится популярная утилита веб-автоматизации в сочетании с возможностью делать утверждения относительно сценариев конкретной функции.

Когда вы думаете об автоматизации сети в Node, Phantom и, следовательно, Каспер мертвы.Так что же происходит сейчас? Кукольник .Я начал использовать Puppeteer несколько лет назад, когда он был в бета-версии и несколько статей и SO сообщений об этом.Но теперь Puppeteer становится лидером веб-автоматизации в Node.Тем не менее, вы не можете утверждать вещи в Puppeteer, что вы ожидаете от среды тестирования.

Но это не мешает нам интегрировать инструмент тестирования в веб-автоматизацию Puppeteer.Я нашел несколько решений, использующих Jest в качестве инструмента тестирования.

const puppeteer = require('puppeteer');
describe('Open Website', () => {
  var browser, page;
  var url = 'https://website.io'
  beforeEach (async () => {
    browser = await puppeteer.launch({ headless: false });
    page = await browser.newPage();
  })

afterEach (() => {
    browser.close()
  })

test('Title == Website Tools', async () => {
    await page.goto(url);
    const title = await page.title();
    expect(title).toBe("Website Tools");
  });
0 голосов
/ 14 ноября 2015

Мы создали полное решение по приемочным испытаниям в JS

http://xolv.io/products/chimp

В нем используются CucumberJS (вскоре мокко / жасмин) для проведения приемочных испытаний

  • Скачивает и запускает Phantom / Selenium
  • Вставляет предварительно сконфигурированный экземпляр Webdriver.IO в контекст тестирования
  • Включает библиотеку request npm (для REST) ​​библиотеку утверждений по вашему выбору (Чай / жасмин-ожидание)
  • Использует волокна для синхронного тестирования (без ада обратного вызова / путаницы обещаний)
  • Работает с SauceLabs / BrowserStacks и т. Д.
  • Поддержка снаружи при тестировании с часамирежим, который непрерывно запускает сценарии, отмеченные вами @focus
  • Поддерживает CI из коробки и тестируется на Circle / Codeship / Travis (с использованием Chrome / Firefox без головы)

Это пока не делает тебя кофе

0 голосов
/ 27 февраля 2015

Hy!

Я создал библиотеку, чтобы помочь с cucumber-js.Это дает вам вызываемые шаги и анализируемые аргументы.Это работает с огурцом и не заменяет его.

Быстрые функции:

  • Синхронизация определений шагов, больше никаких обратных вызовов;
  • Вызов другого шага из определений шагов;
  • Разбор значений, таких как массивы, объекты и десятичные числа;

https://github.com/hackhat/cucumberry

Надеюсь, вы найдете это полезным (:

...