2008-11-06 12 views
1

Nous essayons d'utiliser QTP (QuickTest Professional) pour tester automatiquement une application C++ héritée.Aide pour que QTP identifie un contrôle

Cependant, la fenêtre principale de l'application est composée de plusieurs panneaux IDENTICAL. Chaque panneau a un titre unique.

Si je considère la fenêtre Spy ++ (livré avec DevStudio), je vois:

+ Window <hwnd> "Window Title" taskwindowclass 
    + Window <hwnd> "Panel A" childwindowclass 
    + Window <hwnd> "OK" Button 
    + Window <hwnd> "Panel B" childwindowclass 
    + Window <hwnd> "OK" Button 

dans l'objet Spy QTP cependant, la hiérarchie montre que:

+ Window: Window Title 
    + WinButton: OK 

Il n'a même pas montre qu'il y a un panneau intermédiaire.

Est-ce que quelqu'un connaît un moyen d'obtenir le "chemin" de la fenêtre afin d'identifier chaque contrôle? à savoir si les contrôles identifient comme:

Button A: "Window Title/Panel A/OK" 
Button B: "Window Title/Panel B/OK" 

Répondre

1

Vous pouvez utiliser la programmation descriptive pour contourner la carte d'objet. QTP ignorera les objets du panneau par défaut. Vous pouvez essayer d'obtenir une référence à l'objet du panneau dynamiquement, puis recherchez la collection ChildObjects pour trouver le bouton OK. Une autre option pourrait être d'ajouter simplement un identifiant ordinal aux boutons ok.

  • Bouton A: "Titre de la fenêtre/index OK # 1"
  • Bouton B: "index Titre de la fenêtre/OK # 2"