Подтвердить что ты не робот

Альтернатива CasperJS для использования с Cucumber.js

После многих исследований и испытаний и ошибок я выбрал следующий стек для тестирования Frontend BDD:

  • Cucumber.js
  • CasperJS (через SpookyJS)
  • PhantomJS

Я хотел бы избежать очередей запуска CasperJS и напрямую использовать PhantomJS (через phantom-proxy) с обратными вызовами на каждом шаге:

@World = (cb) ->
    @phantom = require "phantom-proxy"
    cb()

@Before (cb) ->
    self = this
    @phantom.create {}, (proxy) ->
        self.proxy = proxy
        self.page = proxy.page
        cb()

@After (cb) ->
    @proxy.end ->
        cb()

@When /^I go to url "([^"]*)"$/, (url, cb) ->
    @page.open url, ->
        cb()

делает все более логичным и BDD-подобным.

Кроме того, SpookyJS не предоставляет полный API для CasperJS.

API PhantomJS, однако, довольно низкоуровневый. Есть ли какой-либо другой инструмент, который предоставляет функции, подобные CasperJS (нажатие, ожидание элементов и т.д.) Для Node.js без использования очередей выполнения?

4b9b3361

Ответ 1

Mocha-PhantomJS может быть именно тем, что вы ищете.

В качестве альтернативы WebdriverJS поддерживает тесты огурца.

Если вы хотите быть более низкоуровневым, вы можете напрямую связаться с selenium-webdriver. Здесь demo на github.

Удачи!

Ответ 2

Я бы рекомендовал Mocha, у которого есть синтаксис огурца add -on (mocha-cackes) и/или chai, и это плагины chai-jquery и chai-timers.

Также Karma поставляется с поддержкой синтаксиса огурца через плагин karma-cucumber.

Оба Karma и Mocha позволяют запускать ваши тесты против реальных устройств с использованием пусковых установок для saucelabs или браузера, например.

Надеюсь, что это поможет.