Используйте Fakeweb, чтобы заглушить ответы в Интернете.
Для примера Google сначала перейдите на веб-сайт и сохраните HTML-страницу нужной вам страницы. В этом случае предположим, что вы сохранили www.google.com через браузер или curl. Добавьте камень Fakeweb в свой файл test.rb
Тогда ваш код
stream = File.read("saved_google_page.html")
FakeWeb.register_uri(:get,
"http://www.google.com",
:body => stream,
:content_type => "text/html")
Когда вы делаете ваш стандартный вызов Механизировать
agent = Mechanize.New
page = agent.get("http://www.google.com/")
Fakeweb вернет страницу, которую вы сохранили с заголовками content_type, установленными таким образом, чтобы Mechanize думал, что он успешно подключился к Интернету. Убедитесь, что заголовок content_type установлен, поскольку иначе Mechanize обрабатывает ответ как Mechanize :: File вместо Mechanize :: Page. Вы можете проверить, что он полностью работает, запустив тесты на вашем компьютере с отключенным сетевым подключением.
p.s. Я отвечаю на это через 6 месяцев после того, как вопрос был задан, так как это лучший результат в Google, но он остается без ответа. Я потратил 30 минут на то, чтобы понять это сам, и решил поделиться решением.