2010-06-22 8 views
1

J'utilise Watir pour effectuer des tests automatisés sur un site Web. Ce test particulier Je tire un tableau de numéros de sku à partir d'une feuille Excel, puis en sélectionnant aléatoirement un de la matrice à utiliser comme mon test. Le numéro est placé dans un champ de recherche et il retire mon produit.Ruby/Watir - Formatage de l'impression à partir d'un tableau

Voici mon problème: Je tire les données d'Excel et j'ai imprimé les données dans la console pour vérifier que les bonnes données ont été récoltées. ok Lorsque le sku est mis dans la boîte de recherche sur le site Web, il met en forme comme suit: ["000000"]

Je dois éliminer les crochets et les guillemets. J'ai fait des recherches sur joli imprimé et bien que cela ferait l'affaire. Voici la jolie impression que j'ajouté:

def pretty_print(q) 
     q.group(1, '[','"','"',']') { 
     q.seplist(self) {|v| 
     q.pp v 
     } 
    } 
    end 

Voici le code pour obtenir la sku du tableau et ma tentative d'appliquer la jolie méthode d'impression en haut à la chaîne « sk »:

puts = "Data path : " + path 
    workbook = excel.Workbooks.Open(path) 
    worksheet = workbook.WorkSheets(1) 
    worksheet.Select 
    puts "getting 2D Array from column range a2:a100 in sheet 2" 
    sku1 = worksheet.Range("a2:a5").Value 
    puts (sku1) 

    $count = 1 

    $count.times do |count| 
    sk = sku1[rand(sku1.length)] 

    method_name = :"test_#{count}_#{sk}" 
    define_method method_name do 
     pp (sk) 
     search_string = sk 

Toute aide est grandement appréciée !!!

Répondre

3

Lorsque vous créez sk, il s'agit d'un tableau et non d'une chaîne. Devrait être en mesure de le faire.

sk = sku1 [rand (sku1.length)] to_s

1

Je dois être mal compris quelque chose, mais est-ce pas juste une expression régulière simple? Les skus ont-ils toujours 6 chiffres? Dans ce cas, vous pouvez utiliser:

s.match(/\d{6}/).to_s 

ou

s.scan(/\d{6}/).first 

Si ce sont des nombres de longueur variable de 1 à 6 chiffres, vous pouvez utiliser:

s.scan(/\d{1,6}/).first 

HTH

+0

I Je ne sais pas où était ma tête. Merci à vous deux!! – r3nrut