QTP - Identifiants ordinaux

Parfois, il existe des séries d'objets avec le même nom de classe et les mêmes propriétés. Disons que, dans une fenêtre, il y a une série de cases à cocher avec le même ensemble de propriétés. Si nous voulons agir sur ces objets, nous devons les identifier de manière unique afin que QTP puisse agir sur eux.

Un identificateur ordinal attribue une valeur numérique aux objets de test, qui indique son emplacement ou son ordre par rapport à son groupe. La valeur Ordered permet à QTP de la reconnaître de manière unique lorsque les propriétés intégrées ne sont PAS suffisantes pour le faire.

Il existe trois identificateurs ordinaux dans QTP qui peuvent être utilisés dans différents contextes -

  • Index
  • Location
  • Temps de creation

Indice

Un objet apparaissant en premier dans la page / fenêtre aura une valeur d'index plus petite par rapport à un autre objet qui vient plus tard dans la même page / fenêtre.

La valeur de l'index pour le groupe de zones de texte sera la suivante -

Nom de l'objet Valeur d'index
TextBox 1 0
TextBox 4 1
TextBox 2 2
TextBox 5 3
TextBox 3 4
TextBox 6 5

Emplacement

La propriété Location fonctionne verticalement de haut en bas et de gauche à droite. Par conséquent, pour le même cas, la valeur de l'emplacement pour le groupe de zones de texte sera la suivante -

Nom de l'objet Valeur d'index
TextBox 1 0
TextBox 2 1
TextBox 3 2
TextBox 4 3
TextBox 5 4
TextBox 6 5

Temps de creation

La propriété Heure de création n'est valable que pour les applications Web. Lorsque nous ouvrons deux sessions de navigateur du même site Web, QTP ne pourra pas reconnaître la fenêtre, car les deux fenêtres auront le même ensemble de propriétés. Par conséquent, nous pouvons utiliser le temps de création avec lequel QTP pourra agir sur la fenêtre.

'Will have CreationTime value = 0 
SystemUtil.Run "iexplore.exe", "http://www.google.com"       

'Will have CreationTime value = 1  
SystemUtil.Run "iexplore.exe", "http://www.yahoo.com"        

'Will have CreationTime value = 2    
SystemUtil.Run "iexplore.exe", "http://www.microsoft.com"   

'Will have CreationTime value = 3   
SystemUtil.Run "iexplore.exe", "http://www.facebook.com"

Par conséquent, pour travailler sur un navigateur spécifique, nous devons mentionner explicitement le temps de création dans OR ou nous pouvons utiliser la description des objets, que nous verrons en détail dans la section de programmation descriptive.

'Sync's www.google.com 
Browser("creationtime:=" ).Sync                  

'Gets the RO text property of www.yahoo.com  
Browser("creationtime:=1").GetROProperty("text")    

'Highlights microsoft.com 
Browser("creationtime:=2").Highlight