Rubrique précédente: Ensemble de données Read Rows from Excel File (Lire les lignes à partir d'un fichier Excel)Rubrique suivante: Ensemble de données Unique Code Generator (Générateur de code unique)


Ensemble de données Read DTOs from Excel File (Lire les objets DTO à partir d'un fichier Excel)

L'ensemble de données Read DTOs from Excel File vous permet de paramétrer des objets de transfert de données Java (DTO) dans les étapes de test. Cet ensemble de données, grâce aux feuilles de calcul Excel, vous fournit une façon simple de spécifier des valeurs de données pour ces paramètres.

L'ensemble de données Read DTOs from Excel File (Lire les objets DTO à partir d'un fichier Excel) permet d'affecter des valeurs aux propriétés d'un objet de transfert de données et de stocker l'objet dans une propriété. Vous pouvez utiliser cette propriété lorsque l'objet de transfert de données est requis en tant que paramètre. Les données figurant dans l'ensemble de données peuvent être des types de données simples, comme des nombres ou des chaînes, ou des types de données complexes comme des DTO, des tableaux et des collections. Les données représentées dans le fichier Excel sont automatiquement converties selon le type de données approprié, le cas échéant. La seule difficulté que peut supposer l'utilisation de cet ensemble de données est la création initiale de la feuille de calcul Excel. Heureusement, sa création est automatique. Un modèle est créé selon le nom de package de l'objet de transfert de données, à l'aide d'une ou de plusieurs feuilles Excel qui représentent l'objet. Les types de données, tels que les primitives, les chaînes, les tableaux de primitives et les objets DTO peuvent être inclus dans une feuille unique. Les types de données plus complexes, tels que les tableaux d'objets, requièrent plus de feuilles Excel pour représenter l'objet de transfert de données complet.

En général, un terminal de service Web attend des objets DTO complexes. L'ensemble de données Excel simplifie la création d'objets à utiliser comme paramètres pour le service Web. Lorsque le service Web est référencé pour la première fois, un nom et une URL pour le document WSDL lui sont affectés. Les classes d'objet de transfert de données Java au format com.lisa.wsgen.SERVICENAME.OBJECTNAME sont automatiquement générées et mises à la disposition dans la variable classpath. Vous pouvez accéder à cette classe générée dans le navigateur de classes d'objet de transfert de données, générer un fichier Excel, puis simplement remplir le modèle. Reportez-vous à l'exemple ci-dessous.

Générer un ensemble de données repose sur un processus en deux étapes. Dans un premier temps, laissez DevTest générer le modèle dans Excel, puis ouvrez la feuille de calcul Excel et remplissez les champs de données dans toutes les feuilles.

Pour générer le modèle :

  1. Entrez les paramètres suivants dans l'éditeur Data Set Editor (Editeur d'ensembles de données) :
nom

Nom de l'ensemble de données. Ce nom devient la propriété qui est utilisée pour stocker l'objet DTO actuel.

Local

Indique si l'ensemble de données est global ou local. La valeur par défaut est Global. Un ensemble de données local est créé pour chaque simulateur. Les ensembles de données globaux sont créés une fois et partagés par tous les simulateurs.

Random (Aléatoire)

Indique si l'enregistrement suivant l'enregistrement actuel (accès séquentiel) est lu ou si un enregistrement aléatoire est lu. La lecture séquentielle est la valeur par défaut.

Max Records to Fetch (Nombre maximum d'enregistrements à extraire)

Borne supérieure du nombre d'enregistrements à extraire pour l'accès aléatoire. Ce champ de texte est désactivé si la case à cocher Random (Aléatoire) n'est pas sélectionnée.

At End Of Data (A la fin des données)

Sélectionnez l'action à effectuer à la fin de l'ensemble de données. Vous pouvez recommencer, lire des valeurs du début de l'ensemble de données ou sélectionner l'étape à exécuter.

File (Fichier)

Spécifiez le chemin d'accès complet ou accédez au fichier Excel à l'aide du menu déroulant Browse (Parcourir).

DTO Class Name (Nom de la classe d'objets de transfert de données)

Spécifiez le nom de package complet ou accédez à l'objet DTO. Le fichier de classe doit se trouver sur le gestionnaire Test Manager (Gestionnaire de tests). Vous pouvez copier la classe dans le répertoire hotDeploy pour la placer sur le gestionnaire Test Manager.

La section Advanced Settings (Paramètres avancés) vous permet de spécifier les paramètres suivants :

Use flattened child property notation during generation (Utiliser la notation des propriétés enfants aplanies pendant la génération)

Sélectionnez cette option pour écraser l'aplanissement de la propriété enfant lors de la génération d'ensemble de données d'objet DTO Excel. Si cette option est désélectionnée, les propriétés enfants sont générées comme des références à l'aide de leurs propres feuilles de calcul.

Use new empty cell semantics for flattened properties (Utiliser une nouvelle sémantique de cellules vides pour les propriétés aplanies)

La sémantique de cellules vides pour les propriétés aplanies fait référence à la méthode utilisée pour interpréter les cellules vides dans une feuille de calcul d'objet DTO. Par exemple, avec les propriétés aplanies suivantes :

{ "prop1.subprop1", "prop1.subprop2" }

si les valeurs de cellule de subprop1 et subprop2 sont vides, la référence à prop1 sous la nouvelle sémantique sera définie sur NULL. Avec l'ancienne sémantique, prop1 ne serait pas nulle, mais les références à subprop1 et subprop2 le seraient. La nouvelle sémantique doit être utilisée par défaut, notamment par les services Web contenant des WSDL utilisant des types non nuls. Si elle n'est pas utilisée dans le cas de types non nuls, les références non nulles intermédiaires permettant de contenir les propriétés automatiquement créées lors de la lecture d'une feuille de calcul d'objets DTO peuvent entraîner la génération de contenu XML non conforme au schéma, car les valeurs de cellule sont vides.

  1. Cliquez sur Generate Template (Générer un modèle). DevTest crée le modèle et les messages de système signalent la création du fichier.
  2. Cliquez sur Open XLS File (Ouvrir le fichier dans Excel).

    La feuille de calcul contient tous les éléments nécessaires pour construire l'objet. Les informations sur l'ajout de données sont disponibles dans la section suivante.

  3. Fermez le fichier Excel.
  4. Pour tester et charger les données, cliquez sur Test and Keep (Tester et conserver). Une fenêtre confirme que l'ensemble de données peut être lu et indique le premier ensemble de données.

Génération de la feuille de calcul Excel

Pour faciliter les explications relatives à cette opération, un objet DTO réel est utilisé : com.itko.example.dto.Customer. Cette classe est incluse dans les exemples DevTest. Vous pouvez y accéder en parcourant le Test Manager (Gestionnaire de tests) à l'aide du bouton Browse (Parcourir).

L'objet DTO Customer a les propriétés suivantes :

Nom de propriété

Type

balance

Double

id

int

name

String

poAddr

Address

since

Date

types

int[]

locations

Address[]

L'objet DTO Address (Adresse) a les propriétés suivantes :

Nom de propriété

Type

city

String

line1

String

line2

String

state

String

zip

String

Les six premières propriétés de l'objet DTO Customer peuvent s'afficher dans une feuille de calcul Excel. Toutefois, la propriété locations, un tableau d'objets Address, requiert une deuxième feuille de calcul Excel.

Dans la partie supérieure de la première feuille de calcul, DevTest répertorie la spécification d'objet DTO (Customer) et l'objet DTO actuel (Customer). La feuille de calcul répertorie également l'emplacement de la documentation Java, le cas échéant. L'exemple suivant présente la feuille de données selon les modalités suivantes : une ligne spécifiant des noms de propriété, suivie d'une ligne spécifiant les types de données. Le premier champ (colonne) n'est pas une propriété d'objet DTO, mais un champ spécial (Primary Key (Clé primaire)), qui contient une valeur unique pour chaque ligne.

Fichier Excel contenant une ligne répertoriant les noms de propriété, suivie par une ligne spécifiant les types de données.

La feuille de données contient les éléments suivants :

La propriété locations de type Address[] ne s'affiche pas dans la feuille. S'agissant d'un tableau d'objets, la propriété location se trouve dans la deuxième feuille du fichier Excel. Cette feuille contient les données d'un objet Address dans chaque ligne Elle contient également deux champs spéciaux, Primary Key (Clé primaire) et reference the containing DTO (référence à l'objet de transfert de données conteneur), qui sont utilisés pour lier les lignes de la feuille aux lignes de la feuille principale.

Fichier Excel contenant les données d'un objet Address (Adresse) dans chaque ligne

Chaque objet Customer pouvant avoir plusieurs emplacements, plusieurs lignes dans la feuille d'emplacements appartiennent à un objet spécifié dans une ligne unique de la feuille Customer. Cela est illustré dans la seconde feuille répertoriant la clé primaire de l'objet Customer parent dans le champ reference the containing DTO (référence à l'objet de transfert de données conteneur) de chaque emplacement qui appartient à l'objet Customer. Il s'agit du même type de relations clés principales/étrangères dans des bases de données.

Second fichier Excel répertoriant la clé primaire de l'objet parent Customer (Client) dans le champ "reference the containing DTO" (référence à l'objet de transfert de données conteneur) de chaque emplacement qui appartient au client.

Fichier Excel pour l'ensemble de données Read DTOs from Excel File (Lire les objets DTO à partir d'un fichier Excel)

Lorsque vous enregistrez la feuille de calcul et cliquez sur Test and Keep (Tester et conserver) dans DevTest, le premier objet DTO Customer s'affiche dans le message.

Message indiquant la réussite du test

Selon la complexité de votre objet de transfert de données, vous pouvez avoir plusieurs feuilles Excel supplémentaires dans le classeur Excel. Toutefois, le processus est identique à celui de l'exemple précédent.

Pour utiliser cet objet DTO Customer comme propriété, reportez-vous aux sections sur les tests des objets Java de la section Etapes de test de la rubrique Utilisation de CA Application Test.