2010-07-31 10 views
4

J'utilise la commande ci-dessous pour définir une valeur d'entrée de texte sur "une certaine valeur", mais la valeur n'est pas définie instantanément, elle est définie comme si elle était tapée utilisateur. C'est bon pour les petites valeurs, mais j'utilise cette méthode pour insérer un gros texte dans une zone de texte et je ne veux pas que le typage émulé se produise, je voudrais que la valeur soit définie instantanément, comme avec un copier/coller.Définir la valeur du champ de texte instantanément (sans typage émulé)

browser.text_field(:attr,"val").set "some value" 

Répondre

0

Grâce à la réponse de Shubham, j'ai pu retrouver la méthode appropriée (.speed = at watir reference). La vitesse rapide n'est pas un copier/coller de l'émulation bien qu'elle soit très rapide. L'option de vitesse appropriée est : zippy et que vous définissez comme suit:

browser = Watir::IE.new 
browser.speed= :zippy 
2

Avant d'initialiser watir, ajoutez cette option.

$FAST_SPEED = 1 
+0

Merci pour votre réponse, j'étais en mesure piste la méthode appropriée. J'ai édité ma question avec la réponse en conséquence. – Max

1

Cela fonctionne aussi:

browser.text_field(:how => "what").value=("some value") 
3

Je vous recommande d'utiliser la vitesse: rapide à la place pour tous les autres text_fields, mais ceux qui sont grande utilisation # valeur = à la place. Si vous utilisez: zippy alors aucun événement Javascript ne sera déclenché et cela pourrait vous causer des moments douloureux ...