2017-07-16 169 views
0

我有一個小鞋(3.3.3)程序和一個小型紅寶石控制檯程序與硒(3.4.4)。 如果我直接打開硒控制檯程序一切正常,但如果我想要通過鞋「exec(」「)」打開它,它會打破並關閉。紅寶石鞋執行另一個紅寶石程序

我以爲錯誤是webdriver,所以我寫了一個簡單的控制檯程序,帶有一些簡單的「puts」輸出,鞋子顯示控制檯和輸出。

事情是...硒程序昨天工作,我找不到問題,爲什麼它不現在。

簡化的鞋碼是這樣的:

Shoes.app(width: 200, height: 200, resizable: false){ 
    button("GO", width: 200) do 
     exec('ruby data/test.rb') 
    end 
} 

這裏來命名簡單硒的webdriver代碼 「test.rb」:

require 'selenium-webdriver' 

Selenium::WebDriver::PhantomJS.driver_path = 
"driver/phantomjs/bin/phantomjs.exe" 
browser = Selenium::WebDriver.for :phantomjs 
wait = Selenium::WebDriver::Wait.new(:timeout => 15) 

browser.navigate.to 
"http://www.accuweather.com/de/de/heinsberg/52525/weather-forecast/174475" 

wetterElement = browser.find_element(:id, "wrap-forecast-feed") 
@wetterData = wetterElement.text.gsub(/\n/, ',').split(",") 
puts @wetterData[1] 

gets.chomp 

鞋給我的以下錯誤消息爲幾個msecs之前它斷裂: enter image description here

所以,我看着它,發現這個代碼片斷:

def assert_file(path) 
    return if File.file? path 
    raise Error::WebDriverError, "not a file: #{path.inspect}" 
    end 

    def assert_executable(path) 
    assert_file(path) 

    return if File.executable? path 
    raise Error::WebDriverError, "not executable: #{path.inspect}" 
    end 

我真的不知道...... 預先感謝您。

回答

0

明白了... 與鞋子應用程序的文件夾是UTF-8格式。只是改變了名稱,它的工作。