1

我正在使用 capybara 来测试我的应用程序的行为。页面上有一些js代码,在页面加载时执行。它将ajax请求发送到服务器。我想测试该请求的参数,我如何访问它们?

4

2 回答 2

0

您可以执行 javascript 并使用page.evaluate_script方法获取结果。如果您将参数值存储在任何变量中,您就可以访问它。

例子:

result = page.evaluate_script('4 + 4');

参考:https ://github.com/jnicklas/capybara#scripting

于 2012-12-13T11:06:57.640 回答
0

我不认为你可以一次性测试这个。您可以在测试中使用 page_evaluate 将值存储在变量中,但这仅适用于简单请求。正如 Siddick 上面指出的,您可以将 ajax 调用的值存储在一个变量中:

result = page.evaluate_script("response_of_your_ajax_call")

只需将 response_of_your_ajax_call 替换为您的实际 ajax。这不是集成测试——它更接近于对你的 js 进行单元测试。如果您打算以这种方式编写测试,那么我建议您也编写一个测试来模拟最终用户触发 ajax 请求(单击链接、按钮等)的操作。

于 2012-12-18T20:31:58.867 回答