Test d'acceptante avec parametres


#1

Bonjour

J’ai fait un fichier de test (avec selenium) pour tester un produit de
mon application. Etant donné que mon fichier de test est générique il
faudrait que je lui donne en parametre l’id du produit a tester.

  1. Je ne sais pas si c’est possible
  2. Si oui je ne vois pas comment. Je pensais a une syntaxe du genre rake
    test:acceptance mon_ficher.rsel 1 mais non.

Si quelqu’un peut m’éclairer …

Merci d’avance !


#2
  1. Je ne sais pas si c’est possible
  2. Si oui je ne vois pas comment. Je pensais a une syntaxe du genre rake
    test:acceptance mon_ficher.rsel 1 mais non.

Si quelqu’un peut m’éclairer …

Si tu ne trouves rien d’intégré dans la version de selenium que tu
utilises, tu peux te rabattre sur un passage de variable
d’environnement.

rake test:acceptance mon_fichier.rsel product_id=AB097123

puis dans mon_fichier.rsel

def get_mandatory_param(var_name)
value = ENV[var_name]
raise “This test requires #{var_name} env var to be set” if
value.blank?
value
end

product_id = get_mandatory_param(‘product_id’)

– Thibaut


#3

Merci, mais malheuresement, j’obtiens ce This test requires product_id
env var to be set ce qui signifie qu’il ne recupere pas la variable
d’environnement

Thibaut Barrère wrote:

  1. Je ne sais pas si c’est possible
  2. Si oui je ne vois pas comment. Je pensais a une syntaxe du genre rak

test:acceptance mon_ficher.rsel 1 mais non.

Si quelqu’un peut m’�clairer …

Si tu ne trouves rien d’int�gr� dans la version de selenium que tu
utilises, tu peux te rabattre sur un passage de variable
d’environnement.

rake test:acceptance mon_fichier.rsel product_id=AB097123

puis dans mon_fichier.rsel

def get_mandatory_param(var_name)
value = ENV[var_name]
raise “This test requires #{var_name} env var to be set” if
value.blank?
value
end

product_id = get_mandatory_param(‘product_id’)

– Thibaut


#4

Le fichier rsel j’ai repris ton code pour tester

def get_mandatory_param(var_name)
value = ENV[var_name]
raise “This test requires #{var_name} env var to be set” if
value.blank?
value
end

product_id = get_mandatory_param(‘product_id’)

et la façon dont je l’invoque rake test:acceptance
test/selenium/auto_template.rsel product_id=1


#5

Hello,

peux-tu nous recopier ta tâche rake, la façon dont tu l’invoques, et
peut être un extrait du fichier .rsel pour voir ce qui pourrait se
passer ?

– Thibaut


#6

Une solution pourrait être d’utiliser le couple Selenium-client +
Rspec…

Nicolas.

Le 20 mars 2009 11:13, Lune L. removed_email_address@domain.invalid a écrit :


#7

En cherchant sur github, j’arrive à la conclusion que tu utilises
http://github.com/paytonrules/selenium-on-rails/tree/master

Peut être peut y écrire via github à l’auteur pour lui poser la
question.

Sinon étudie le code source de plus près, en particulier:

http://github.com/paytonrules/selenium-on-rails/blob/813388313a8735f8dc9b94606a247d5f40918b18/lib/selenium_on_rails/acceptance_test_runner.rb

Je pense qu’il doit y avoir moyen (comme dans Test::Unit) de propager
un peu d’environnement au .rsel.

– Thibaut