Je dois créer plus de 1500 fichiers ruby à partir d'un modèle pour certains tests que je fais avec Selenium.Comment puis-je créer un programme pour créer plusieurs fichiers à partir d'un modèle avec des valeurs différentes à l'intérieur?
Le modèle ressemble à ceci:
class $CLASS_NAME
require "spec"
attr_accessor :title
include Spec::Example::ExampleGroupMethods
include Spec::Matchers
def initialize
@title = "$OLD_URL -> $NEW_URL"
end
def execute(selenium)
selenium.open "$OLD_URL"
sleep 1
puts 'Opening...'
sleep 1
url = selenium.get_location
puts 'Grabbing location...'
sleep 1
puts 'The URL is ' + url
puts 'Doing match...'
sleep 1
/$NEW_URL/.match(url).should_not be nil
puts "\n##### Success! #####\n\r"
end # execute
J'ai une charge d'URL que je dois insérer - un dans chaque fichier, en remplaçant « $ OLD_URL » et « $ NEW_URL ».
Est-il possible de faire quelque chose comme ça?
x = 0
while (x < 1500)
{
de template.rb ouvert
trouver toutes les instances de CLASS_NAME $ et les remplacer par xxx de classnames.txt
trouver toutes les instances de OLD_URL $ et les remplacer par xxx de listofurls.csv
trouver toutes les instances de NEW_URL $ et les remplacer par xxx de listofurls.csv
Enregistrer le fichier sous ('REDIRECT_' + 'x ++')
x ++
}
C'est à peu près ce que je suis après mais je dois créer des fichiers avec trois 1500+ différentes variables dans chaque fichier. De plus, il doit lire les valeurs d'un fichier externe (csv) ... – Jem
Utilisez la bibliothèque 'CSV'. C'est plutôt simple. – Yossi