0
我是新来的黄瓜/水豚,我想知道我如何导入使用黄瓜/水豚如何使用Cucumber/Capybara从txt/xls文件导入数据?
比如我需要使用下一个场景来上传多个文件相继从TXT/XLS文件中的数据:
功能
Scenario: Upload
When I Choose A name "name"
When I Choose "/home/path"
Then I Click Upload
step_definitions
When(/^I Choose A name "([^"]*)"$/) do |title|
fill_in('video_title', :with => title)
fill_in('video_description', :with => title)
end
When(/^I Choose "([^"]*)"$/) do |file|
find(:xpath, '//*[@id="file"]', :visible => false).set(file)
end
Then(/^I Click Upload$/) do
click_button('Upload')
end
所以,如果我可以添加步骤定义从导入TXT或xls这将是更容易,然后重复每个文件场景
你很近,但我想从外部文件导入数据? ,你刚做的手术名称是什么? –
我会先回答你的第二个问题,因为它是最简单的。首先,我使用了场景大纲而不是常规场景。这可以让您包含任意数量的不同数据点。接下来,我使用'step'关键字来调用第四个关键字的三个步骤定义。这两种方法都是减少重复的好方法。 –
至于你的第一个问题,你为什么需要测试许多不同的数据点?在大多数情况下,这并不是必须的,所以我通常建议将更少的例子放入场景提纲中(如我所说,这个提纲仍然可以是任意长的)。如果有某些原因绝对不是可接受的选项,那么我会创建一个辅助模块(将其保存在您的'features/support'目录中),以便从文件中提取数据并使用常规Ruby对其进行处理。然后,您可以从您的步骤中调用该帮助程序代码。 –