Ruby Shoes执行另一个ruby程序

时间:2017-07-16 15:00:14

标签: ruby selenium-webdriver shoes

我有一个小鞋子(3.3.3)程序和一个带有selenium的小红宝石控制台程序(3.4.4)。 如果我直接打开selenium控制台程序一切正常,但如果我想通过“exec(”“)”通过鞋子打开它,它会断开和关闭。

我认为错误是webdriver,所以我编写了一个简单的控制台程序,其中包含一些简单的“puts”输出,鞋子显示控制台和输出。

事情是......硒计划昨天起作用,我找不到问题,为什么现在没有。

简化的鞋码如下:

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

以下是名为“test.rb”的简单selenium-webdriver代码:

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

在发生故障之前,鞋子会向我发送以下错误消息: 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

我真的不知道...... 提前谢谢。

1 个答案:

答案 0 :(得分:0)

得到了...... 鞋子应用程序的文件夹是UTF-8格式。只需更改名称即可。