2017-03-07 2 views
0

Ich schreibe einen Test für eine Website. Sie müssen sich zweimal auf verschiedenen Seiten einloggen, um auf die zweite Seite zugreifen zu können. HierKönnen Sie VB Script NUR für bestimmte Objekte und nicht für generalisierte Objekte anpassen?

ist ein Beispiel dafür, was ich geschrieben habe (das funktioniert manchmal):

If Browser("EXAMPLE").Page("LogInPage").WebEdit("ID").Exist Then 
    Browser("EXAMPLE").Page("LogInPage").WebEdit("ID").Set "tporte51" 
    Browser("EXAMPLE").Page("LogInPage").WebEdit("PASSWORD").SetSecure "HiddenPassword" 
    Browser("EXAMPLE").Page("LogInPage").WebButton("I Concur").Click 
End If 

If Browser("EXAMPLE").Page("LogInPage2").WebEdit("txtUserName").Exist Then 
    Browser("EXAMPLE").Page("LogInPage2").WebEdit("txtUserName").Set "testuser" 
    Browser("EXAMPLE").Page("LogInPage2").WebEdit("txtPASSWORD").SetSecure "HiddenPassword2" 
    Browser("EXAMPLE").Page("LogInPage2").Link("Login").Click 
End If 

Mein Problem ist, dass, wenn diese in UFT laufen, manchmal erkennt er die zweite Anmeldung (WebEdit („txtUserName“)) als erste Anmeldung (WebEdit ("ID")) und versucht, die falschen Anmeldeinformationen zu verwenden.

Irgendwelche Ideen für Heilmittel?

+0

Was ist die Hierarchie von Objekten? Ist es wirklich "Browser-> Page-> WebEdit-> WebEdit"? Auch in der zweiten 'If'-Bedingung wird das' Browser-> Page-> WebEdit-> WebEdit'-Vorhandensein geprüft, aber die Daten in 'Browser-> Page-> WebEdit' gefüllt. Wenn Sie Ihre beiden Browser und Pages eindeutig identifizieren, sollte sie ordnungsgemäß mit der richtigen Hierarchie funktionieren. – ManishChristian

+0

Ich habe das Codebeispiel korrigiert, um die Fehler zu eliminieren, die ich beim Kopieren von einer virtuellen Maschine gemacht habe, und um identifizierbare Informationen zu verbergen. – Collatrl

+0

Können Sie alle Objekte eindeutig identifizieren? Wenn nicht, könnten Sie relevanten HTML-Quellcode von beiden Seiten posten? – ManishChristian

Antwort

0

Aus Ihrem Code scheint es, dass Sie das gleiche Browser Objekt mit verschiedenen Page s verwenden, um zwischen verschiedenen Browser-Tabs (?) Zu unterscheiden.

Bitte beachten Sie, dass Browser verwendet wird, um eine Registerkarte zu identifizieren und jede Browser hat nur eine Page gleichzeitig. Das Objekt Page dient nur zur Organisation des Objekt-Repository und hat keine Rolle bei der Identifizierung von Objekten. Weitere Informationen finden Sie unter blog post.