2012-07-11 136 views
2

我以Cucumber &开始Ruby并想知道以下是否可能。Cucumber/Ruby:是否可以拦截来自浏览器的HTTP请求/响应?

我在一个页面,我知道,当我点击链接,那将发送看起来像一个请求: http://example.com?param1=value1&param2=value2

是否然后可能截获呼叫并检索它使用Ruby的参数?或者如果没有,还有关于如何通过自动化测试获取这些值的其他想法?

+0

我是对的,你想拦截请求/响应,解析它,然后自动构建基于它的自动化测试? – 2012-07-11 10:31:47

+0

是的,这正是场景,但不能考虑如何获得请求/响应来创建所需的测试... – mickael 2012-07-11 10:34:40

+0

这个问题也非常类似你的:http://stackoverflow.com/questions/4487603/ can-i-use-selenium-ide-to-generate-cucumber-capybara-steps – 2012-07-17 20:46:24

回答

0

你想要做的就是测试记录。测试记录也有很多缺点,它不使用它是一个好主意,请参见:

我怀疑有一个工具,可以生成自动黄瓜功能。黄瓜功能旨在用作需求存储,与利益相关方合作的机制和生动文档。如果你不需要任何这些方面的话,那么使用黄瓜是很花时间的。我无法想象测试记录工具会产生看起来足够好的功能以用于这些目的。

也许有一种工具可以生成特征或纯Ruby(例如水豚)测试。但我怀疑它是需要的,因为水豚测试非常容易编写,使用测试记录工具创建的测试将很难维护。

+0

我在想创建一些通用功能文件(这对业务中的每个人都有用),然后实现了很多逻辑在红宝石代码本身。种: 鉴于我在网页 然后用户交互跟踪 和Ruby代码,把逻辑,我们要跟踪的特定用户互动。 我遇到的问题是,我不明白ruby是否可以捕获HTTP调用/响应来创建断言? – mickael 2012-07-13 08:48:13

+0

@mickael为什么你想捕获这些HTTP调用,然后重现它们而不是使用Capybara API? – 2012-07-14 09:08:31

+0

我对不对?你想写功能文件,在step_defintions写正则表达式。然后使用来自浏览器的拦截请求在步骤定义中生成代码。 – 2012-07-14 09:12:13