capybara poltergeist 无法上传文件
capybara poltergeist cant upload file
您好,我正在尝试在隐藏输入上使用水豚恶作剧上传文件。这是我的功能文件
Scenario: Import csv with valid and invalid entries, and try to charge them again
And Joe navigates to "Lottery import" page of "Joe's Test Event"
And Joe uploads file from path "/vagrant/tests/capybara/features/admin/lottery_import/step_definition/sample_lottery_entries_list.csv" into "file" field
和用于导入的 rb 文件
Then(/^(\S*) uploads file from path "([^"]*)" into "([^"]*)" field$/) do |user, file_path, field|
page.attach_file(field, File.expand_path(file_path), :visible => false)
waits_for_spinner_by_class_not_visible
end
奇怪这适用于 Selenuim 驱动程序,但不适用于 poltergeist 驱动程序。
关于如何解决这个问题的任何想法
由于样式原因,文件输入通常被隐藏,这使得它们不可交互。因为水豚的attach_file
有一个选项可以更容易地临时输入文件visible/interactable
page.attach_file field, file_path, make_visible: true
这将暂时应用 CSS { opacity: 1, display: 'block', visibility: 'visible' } 到文件输入元素。如果 CSS 不会使输入可见,您可以将 make_visible
设置为散列而不是 true
您好,我正在尝试在隐藏输入上使用水豚恶作剧上传文件。这是我的功能文件
Scenario: Import csv with valid and invalid entries, and try to charge them again
And Joe navigates to "Lottery import" page of "Joe's Test Event"
And Joe uploads file from path "/vagrant/tests/capybara/features/admin/lottery_import/step_definition/sample_lottery_entries_list.csv" into "file" field
和用于导入的 rb 文件
Then(/^(\S*) uploads file from path "([^"]*)" into "([^"]*)" field$/) do |user, file_path, field|
page.attach_file(field, File.expand_path(file_path), :visible => false)
waits_for_spinner_by_class_not_visible
end
奇怪这适用于 Selenuim 驱动程序,但不适用于 poltergeist 驱动程序。 关于如何解决这个问题的任何想法
由于样式原因,文件输入通常被隐藏,这使得它们不可交互。因为水豚的attach_file
有一个选项可以更容易地临时输入文件visible/interactable
page.attach_file field, file_path, make_visible: true
这将暂时应用 CSS { opacity: 1, display: 'block', visibility: 'visible' } 到文件输入元素。如果 CSS 不会使输入可见,您可以将 make_visible
设置为散列而不是 true