2009-11-04 5 views
1

J'ai un formulaire de connexion simple qui a 2 champs de texte et un bouton. Je peux définir le texte du champ de nom d'utilisateur très bien. Lorsque je définis le champ de mot de passe, le formulaire est automatiquement soumis et une erreur se produit.watir: Comment entrer une valeur dans un formulaire, sans soumettre le formulaire avec watir?

De la CISR:

irb(main):008:0> ie.text_field(:name, "j_password").set("password") 
WIN32OLERuntimeError: unknown property or method `value' 
    HRESULT error code:0x80070005 
     Access is denied. 
     from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3431:in `method_missing' 
     from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3431:in `doKeyPress' 
     from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3427:in `each' 
     from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3427:in `doKeyPress' 
     from c:/ruby/lib/ruby/site_ruby/1.8/watir.rb:3393:in `set' 
     from (irb):8 
irb(main):009:0> ie.text_fields.each {|x| puts x } 
type:   text 
id: 
name:   j_username 
value: 
disabled:  false 
length:  20 
read only: false 
type:   password 
id: 
name:   j_password 
value: 
disabled:  false 
length:  20 
read only: false 

Toutes les idées pourquoi l'erreur, ou pourquoi le formulaire est soumis?

Note: Je peux définir les champs très bien sans la forme d'être soumis en utilisant Perl, VBScript, python, AutoIt, etc.

Répondre

1

Je pourrais vous en dire plus si vous ou HTML posté lien utile (si la page est publique), mais je suppose que l'entrée de mot de passe déclenche l'événement JavaScript qui soumet le formulaire. Access is denied. peut signifier qu'il existe un cadre, et IE ne permet pas d'y accéder (http://wiki.openqa.org/display/WTR/Frames).

cela aiderait peut-être:

ie.text_field(:name, "j_password").value=("password") 
+0

fonctionne très bien! Il n'y a pas de javascript pour soumettre le formulaire en entrant le mot de passe, mais il y en a qui se déclenchent sur une combinaison de lettres spécifique dont je n'étais pas au courant. La chaîne que je passais est juste arrivée à la contenir. Merci encore. – CalvinTreg

+0

Je suis content d'avoir pu aider. :) –

Questions connexes