toy*_*toy 3 ruby sinatra cucumber capybara
我正在尝试用Capybara测试一个简单的文件上传.这是我的Gemfile.lock
capybara (1.1.2)
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
selenium-webdriver (~> 2.0)
xpath (~> 0.1.4)
Run Code Online (Sandbox Code Playgroud)
我的selenium-webdriver版本是2.18.这是我的web_steps文件(它是生成的):
When /^(?:|I )attach the file "([^\"]*)" to "([^\"]*)"(?: within "([^\"]*)")?$/ do |path, field, selector|
with_scope(selector) do
attach_file(field, path)
end
end
Run Code Online (Sandbox Code Playgroud)
这是我上传文件的功能:
Then I attach the file "features/resources/empty.file" to "file" within "#uploadForm"
Run Code Online (Sandbox Code Playgroud)
实际上它在线路上运行正常和绿色,但输入没有拾取任何文件,因此测试失败,因为没有选择文件.
这是我的表格:
%form#uploadForm{:action => "/upload", :method => "POST", :enctype => "multipart/form-data"}
%input{:type => "file", :name => "file", :id => "file"}
Run Code Online (Sandbox Code Playgroud)
这是非常基本的,但我不确定为什么它不起作用.
ale*_*cat 12
玩具,我建议:
attach_file(field, File.expand_path(path))
Run Code Online (Sandbox Code Playgroud)
而不是使用绝对路径,特别是如果你合作.
编辑:File.expand_path不是File.extend_path
| 归档时间: |
|
| 查看次数: |
7855 次 |
| 最近记录: |