我使用硒進行屏幕截圖進行我的黃瓜測試。我想要執行其中一個步驟,將屏幕截圖文件放置在文件夾名稱中,並使用來自step +時間戳的輸入生成文件夾名稱。創建一個目錄並將文件移動到其中
這是我迄今完成:
Then /^screen shots are placed in the folder "(.*)"$/ do |folder_name|
time = Time.now.strftime("%Y%m%d%H%M%S")
source ="screen_shots"
destination = "screen_shots\_#{folder_name}_#{time}"
if !Dir.exists? destination
Dir.new destination
end
Dir.glob(File.join(source, '*')).each do |file|
if File.exists? (file)
File.move file, File.join(destination, File.basename(file))
end
end
end
如果該目錄不存在,我想創建它。然後我想把所有的截圖放到新的目錄中。
該文件夾將被創建在與屏幕截圖相同的目錄中,然後將所有屏幕截圖文件移動到該文件夾中。我仍然在學習Ruby和我試圖把這個一起不工作都:
Desktop > cucumber_project_folder > screenshots_folder > shot1.png, shot2.png
總之,我想在screenshots
創建一個新的目錄和移動shot1.png
和shot2.png
進去。我該怎麼做?
基於給定此答案是源路徑中的步驟,從而不同的用戶不必修改該定義表示的溶液(對於黃瓜)
Then /^screen shots are placed in the folder "(.*)" contained in "(.*)"$/ do |folder_name, source_path|
date_time = Time.now.strftime('%m-%d-%Y %H:%M:%S')
source = Pathname.new(source_path)
destination = source + "#{folder_name}_#{date_time}"
destination.mkdir unless destination.exist?
files = source.children.find_all { |f| f.file? and f.fnmatch?('*.png') }
FileUtils.move(files, destination)
end
。
你應該看看[**文件實用程序**](http://www.ruby-doc.org/stdlib-2.0/libdoc/fileutils/rdoc/FileUtils.html#method-c-mkdir_p)和嘗試一下自己..它非常容易..所有可以使用這個stdlib .. :)) –
StackOverflow是一個提問的好地方,但你不應該指望我們爲你做這項工作。告訴我們你有什麼和沒有工作,我們會盡力幫助你通過它 - 但正如@Priti所說,使用Ruby標準庫編寫它非常簡單。 –
謝謝!我會記住:) – meggex