2017-05-26 157 views
0

我正在写一个测试应用程序的耙子任务。为了测试它,我需要水豚和Poltergeist。 Rake任务看起来是这样的:如果Heroku掠夺任务与poltergeist

require "capybara" 
require "capybara/poltergeist" 
require "capybara/dsl" 

namespace :almet do 
    desc "Checking if something changed on tatar.ru" 
    task check_news: :environment do 
    Capybara.current_driver = :poltergeist 
    Browser = Class.new { include Capybara::DSL } 
    page = Browser.new.page 
    page.visit("http://almetyevsk.tatar.ru") 
    unless page.has_selector?(".home-events ul li") & 
     page.has_selector?(".home-events__item-lead") & 
     page.has_selector?(".home-events__item-date") & 
     page.has_selector?("h2 a") 
    then 
     alert 
    end 
    news_link = page.find(:css, "h2 a", match: :first)[:href] 
    page.visit(news_link) 
    unless page.has_selector?(".page__content-i h2") & 
     page.has_selector?(".page__content-i .news") & 
     page.has_selector?("i") 
    then 
     alert 
    end 
    end 

    def alert 
    AlertMailer.alert.deliver_now 
    end 
end 

此代码检查从分析数据的主要场所仍然是相同的(在CSS选择器完全没有变化)。这rake任务工作好地方,但是当我把它推到Heroku的,我得到了一个错误:

rake aborted! 
Cliver::Dependency::NotFound: Could not find an executable ["phantomjs"] on your path. 

我GOOGLE了这一点,安装phantomJS但仍然得到了同样的错误(使用鬼驱人phantomJS)。是否有可能解决我的问题?

+0

你是否将Phantomjs作为'buildpack'添加到你的项目或Heroku中? –

回答