4

我在http://railscasts.com/episodes/257-request-specs-and-capybara看到了 railscast,它描述了如何在 Rails 应用程序上使用 Capybara 和 RSpec。

是否可以使用 Capybara/Selenium 来测试您无法访问代码的 Web 应用程序,或者它不是 Ruby/Rack 应用程序。换一种说法,是否可以使用 Capybara/Selenium 对 Web 应用程序进行黑盒测试?如果是这样,怎么做?

我问是因为所有代码示例都暗示存在 Ruby 或 Rails 代码库。

4

3 回答 3

0

当然,事实上,最常见的初始测试是自动化 www.google.com。事实证明这是一个糟糕的第一次尝试(现代 Google 非常 AJAXy 和微妙),但这是每个人首先想到的。紧随其后的是 GMail,更是如此。:-)

于 2011-06-19T14:28:05.943 回答
0

是的。您只需要使用“访问”功能直接访问您要测试的 URL。

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

然后,您可以使用 capybara 函数找到任何 HTML 元素

find("input#Email").set("superman")
all("input#Email")[0].set("superman")
于 2014-11-30T13:31:55.487 回答
0

我看不出有任何理由说明这是不可能的。假设您的 Web 应用程序可以通过 HTTP 访问,您应该没问题(这显然很可能是真的)。

所有 RSpec 请求规范基本上都是黑盒测试。这就是请求规范的重点——你想模拟一个真实的用户并练习你的整个应用程序堆栈——从 HTML 视图开始到数据库访问。黄瓜特征也是如此。

编写 Specs 可能不太舒服,因为您不能依赖 Web 应用程序来遵守 Rails 约定。

无论如何...我希望这会有所帮助。

于 2011-06-19T13:33:58.597 回答