我有一个Web请求,最终调用外部服务,合并数据库中的数据,然后显示结果。
我认为我可以忽略基于JS的设置(make request,queue job,return polling js),因为看起来如果这是同步的话,我会有同样的问题。
step "I do the thing" do
fill_in "search", with: "yarp"
VCR.use_cassette("some_cassette") do
click_on "Do the thing"
end
end
因此,一旦服务器响应,我们就会在html表中获取内容,并且我希望确保来自外部服务的内容是显示在页面上的内容。
我找到了一种从响应中获取数据的方法,但想知道是否有更好的方法:
VCR.use_cassette("some_cassette") do |cassette|
interaction = cassette.serializable_hash["http_interactions"].find do |interaction|
interaction["request"]["uri"].include?("some_url")
end
@raw_result = JSON.parse(interaction["response"]["body"]["string"])
end