DescriptProgrammation ive dans QTP/UFT : dynamique et statique

Qu’est ce qu' DescriptProgrammation ive ?

DescriptLa programmation ive est utilisée pour exécuter des opérations sur un objet dans l'AUT dont la définition n'est pas stockée dans le référentiel d'objets. En utilisant ce mécanisme, vous pouvez contourner l'identification du référentiel d'objets et fournir l'objet Description dans la déclaration elle-même.

Un nom d'objet est simplement utilisé pour mapper un objet dans un script avec sa description dans un référentiel d'objets. Cela signifie que si vous modifiez le nom de l'objet dans votre script et votre référentiel d'objets, le script doit s'exécuter. Regardez la vidéo suivante sur ce concept

Cliquez sur ici. si la vidéo n'est pas accessible

Extraits vidéo

  • Supprimer l'objet Description du nom de l'agent Win Modifier Box à partir du référentiel d'objets. Si vous relancez le test, il échouera car il ne pourra pas reconnaître l'objet. Examinons la raison pour laquelle le script échoue
  • Pendant l'exécution, Micro Focus UFT identifie l'opération effectuée sur la boîte WinEdit et l'objet DescriptL'objet dans le référentiel d'objets est stocké sous le nom d'agent. Il utilise ce nom pour suivre l'objet dans un référentiel d'objets. Pour un parent, vous ne pouvez pas avoir deux objets enfants portant le même nom. Par conséquent, QTP mappe de manière unique l'objet dans le référentiel. Il utilise ensuite la description stockée dans le référentiel d'objets et remplace le nom par la description. Il utilise ensuite cette instruction pour identifier l'objet dans l'application testée
  • Puisque dans notre cas, nous avions complètement supprimé la description de cet objet, le script échoue
  • Mais que se passerait-il si, au lieu que QTP remplace la description de l'objet, vous, en tant que testeur, spécifiiez directement les descriptions d'objet dans votre script. Ce n'est rien d'autre que "DescriptProgrammation ive »

Types d' DescriptProgrammation ive

Vous pouvez utiliser Descriptprogrammation ive de deux manières

  1. Statique
  2. Dynamique

Statique DescriptProgrammation ive

Dans la méthode statique, pour l'identification d'un objet, vous spécifiez la propriété d'un objet au format suivant

property:=values,

Ce format est appelé paire de valeurs de propriété et est entouré de virgules inversées.

Si votre objet utilise plusieurs descriptions pour l'identification, vous pouvez spécifier celles-ci à l'aide de virgules

Ainsi, dans notre cas, la description du nom de l'agent devient

"nativeclass:=Edit", "attached text:=Agent Name:"

Dynamique DescriptProgrammation ive

La deuxième méthode pour effectuer la même action consiste à utiliser Dynamic Descriptprogrammation vivante

Dans le cas où votre script utilise plusieurs fois l'objet de programmation descriptif candidat, il sera très fastidieux de spécifier toutes les paires de valeurs de propriété pour chaque instruction.

Dans de tels cas, vous pouvez utiliser DescriptClasse ionique fourni par QTP

La syntaxe pour créer un objet de description est

Set MyDescription = Description.Create();
MyDescription("property").Value = "property-value";

Il s'agit de la Méthode dynamique

Pourquoi utiliser DescriptProgrammation ive ?

Transcription de la vidéo

  • La question à un million de dollars est de savoir pourquoi utiliser DP lorsque le processus d'identification d'objet est géré par QTP.
  • Supposons que vous soyez chargé de tester un portail d'emploi. Vous saisissez une requête de recherche dans le portail et
  • votre test s'attend à ce que vous sélectionniez tous les emplois disponibles et cliquez sur Postuler.
  • Mais le nombre de tâches reflétées dépendra de la requête de recherche et des tâches disponibles au moment de l'exécution du script, mais il n'y a aucun moyen de prédire à l'avance le nombre de tâches qui seraient reflétées.
  • Dans de tels cas, vous pouvez utiliser la programmation descriptive. Même si vous ne connaissez pas le nombre et les noms des cases à cocher, vous connaissez la classe des objets comme « WebCheckBox »
  • Vous pouvez utiliser le Méthode EnfantObject pour renvoyer des objets appartenant à un parent particulier
  • Une ligne de code comme –
    Set allObjects = Browser("Jobs").Page("QTP").ChildObjects()
  • Renvoie tous les objets enfants de cette page.
  • Mais nous voulons seulement WebCheckBox objets. Pour ce faire, nous pouvons créer un objet de création de filtre et définir sa propriété comme case à cocher Web et passer ce filtre comme argument pour la méthode ChildObjects
  • Dans ce cas, seules les cases à cocher sont renvoyées.
  • Ensuite, vous pouvez écrire un code comme celui-ci qui accède à toute la collection de cases à cocher à partir de zéro et active toutes les cases.
  • Ensuite, vous pouvez cliquer sur le bouton Appliquer pour terminer le test
  • Vous pouvez également utiliser Descriptive Programmation pour exécuter des objets difficiles à enregistrer comme les panneaux de masquage automatique, les objets avec des hiérarchies changeantes, les objets internes imbriqués, les sous-menus.
  • Vous pouvez également effectuer des manipulations avancées de chaînes à l'aide de la programmation descriptive.
  • En conjonction avec la propriété d'index, la programmation descriptive pourrait être très utile pour identifier des objets difficiles.
  • Si vous utilisez la description programmatique pour un objet dans la hiérarchie d'objets, vous devrez utiliser la programmation de description pour les objets enfants suivants.
  • Par exemple, pour l'objet page, une programmation descriptive a été utilisée, mais pour l'objet enfant suivant, le référentiel d'objets WinEdit est utilisé, ce qui est incorrect.
  • Au contraire, ici pour Page et WinEdit, une programmation descriptive est utilisée, ce qui est correct