我们在使用默认的rails 3应用程序在ipad上播放mp4时遇到问题.在Chrome和桌面上的其他浏览器中查看路径时,可以正确提供mp4.
这是我们的代码:
file_path = File.join(Rails.root, 'test.mp4')
send_file(file_path, :disposition => "inline", :type => "video/mp4")
Run Code Online (Sandbox Code Playgroud)
我们点击0.0.0.0:3000/video/test.mp4观看视频,并在ipad上显示无法播放图标.我们已经尝试修改各种标题"Content-Length","Content-Range"等,但它们似乎不会影响最终结果.
我们也尝试过在某种程度上使用send_data
即
File.open(file_path, "r") do |f|
send_data f.read, :type => "video/mp4"
end
Run Code Online (Sandbox Code Playgroud)
在Ipad上查看时,同一视频在公共文件夹中正常运行.
通过rails到Ipad提供mp4文件的正确方法是什么?
我正在尝试让Selenium Android WebDriver与Rspec合作,以便通过Android模拟器测试我们的Rails移动应用程序.
我按照设置说明操作并使用以下代码运行测试:
driver = Selenium::WebDriver.for :android
driver.navigate.to "http://google.com"
element = driver.find_element(:name, 'q')
element.send_keys "Hello WebDriver!"
element.submit
puts driver.title
driver.quit
Run Code Online (Sandbox Code Playgroud)
Android模拟器上的WebDriver运行前两个命令,但是当它到达时element = driver.find_element(:name, 'q'),总是失败EOFError: end of file reached.
我发现无论第一个出现什么错误都会发生错误navigate,因此它似乎不是该find_element方法的问题.
例如,如果我将上面的代码替换为:
driver = Selenium::WebDriver.for :android
driver.navigate.to "http://google.com"
driver.navigate.to "http://stackoverflow.com"
driver.quit
Run Code Online (Sandbox Code Playgroud)
然后我仍然在第二个navigate命令上得到相同的错误.
我已经尝试过尝试各种超时,认为问题与连接有某种关系,但最终结果总是一样的.第一个导航命令似乎正常工作,因为模拟器将打开google.com,但之后不会发生任何事情.
为什么我收到此错误?我怎样才能阻止它以便我的测试可以运行?