Ruby Shoes выполняет еще одну рубиновую программу

У меня есть небольшая программа для обуви (3.3.3) и небольшая консольная программа на рубине с селеном (3.4.4). Если я открываю консольную программу селена напрямую, все работает нормально, но если я хочу открыть ее через «exec («»)» через обувь, она ломается и закрывается.

Я думал, что ошибка связана с веб-драйвером, поэтому я написал простую консольную программу с некоторыми простыми выводами «путей», а обувь отображает консоль и вывод.

Дело в том, что программа selenium работала вчера, и я не могу найти проблему, почему она не работает сейчас.

Упрощенный код обуви выглядит следующим образом:

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

Вот простой код selenium-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

Shoes выдает следующее сообщение об ошибке в течение нескольких мс, прежде чем сломается: введите здесь описание изображения

Поэтому я поискал и нашел этот фрагмент кода:

  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

Я действительно понятия не имею... Заранее спасибо.


person Doodles    schedule 16.07.2017    source источник


Ответы (1)


Понял... Папка с приложением обуви была в формате UTF-8. Просто поменял имя и все заработало.

person Doodles    schedule 19.07.2017