Capybara + RSpec: Может ли он использоваться для любого веб-приложения? - PullRequest
4 голосов
/ 19 июня 2011

Я видел Railscast в http://railscasts.com/episodes/257-request-specs-and-capybara, который описывает, как использовать Capybara с RSpec в приложении Rails.

Можно ли использовать Capybara / Selenium для тестирования веб-приложения, к которому у вас нет доступа к коду, или это не приложение Ruby / Rack.Иными словами, можно ли провести «черный ящик» тестирования веб-приложения с использованием Capybara / Selenium?Если да, то как?

Я спрашиваю, потому что все примеры кода подразумевают существование кодовой базы Ruby или Rails.

Ответы [ 3 ]

0 голосов
/ 19 июня 2011

Конечно, на самом деле самый распространенный первоначальный тест - это автоматизация www.google.com.Это оказывается плохой первой попыткой (современный Google очень AJAXy и тонкий), но это то, о чем все думают в первую очередь.Вскоре последовал GMail, что даже более того.: -)

0 голосов
/ 30 ноября 2014

Да. Вам просто нужно использовать функцию «посещения», которая идет непосредственно по URL, который вы хотите проверить.

visit 'http://www.gmail.com'

Затем вы можете найти любой из элементов HTML, используя функции капибары

find("input#Email").set("superman")
all("input#Email")[0].set("superman")
0 голосов
/ 19 июня 2011

Я не вижу причин, почему это было бы невозможно. Предполагая, что ваше веб-приложение доступно через HTTP, у вас все должно быть в порядке (это, очевидно, ОЧЕНЬ вероятно будет правдой).

Все спецификации запросов RSpec в основном являются тестами черного ящика. В этом суть требований спецификации - вы хотите имитировать реального пользователя и использовать весь стек приложений - начиная с представлений HTML и заканчивая доступом к базе данных. То же самое относится и к огуречным свойствам.

Написание ваших спецификаций может быть немного менее удобным, потому что вы не можете полагаться на веб-приложение для соблюдения соглашений Rails.

В любом случае ... надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...