所以我刚开始使用Steak,而后者则使用Capybara,后者又使用Selenium。
所以我听说RSpec的做法很好,可以将测试分成许多小条款,每个条款都测试一小段功能。但是它会使测试运行花费更长的时间,因为每次测试都会重复相同的步骤。
说我正在测试一些ajax功能。我想测试一下:
但如果我把每个东西分解成自己的测试用例,那么Selenium必须从头开始:它必须加载相同的页面三次,点击链接使表单出现三次,等等。让我感到浪费。
我希望能够做的是指定一系列保持浏览器状态的测试,因此每个测试都会继续前一个测试。这可能吗?
答案 0 :(得分:1)
有可能。 一种方法是覆盖Capybara的访问方法并跟踪最后一个url,只有在它发生变化时才重新访问。
有些事情:
module Capybara
alias original_visit visit
def visit(url)
original_visit url if url != $last_url
$last_url = url
end
end
但如果你真的知道自己在做什么,那么你应该这样做......