Création de tests SDK de test Acumatica à partir de zéro pour les éditeurs de logiciels indépendants

Étant donné que nous exigeons maintenant que les principaux cas d’utilisation de vos applications soient testés à l’aide de la certification Test SDK pour 2022R1, cet article vous guidera étape par étape pour configurer vos premiers tests et s’exécuter complètement à partir de zéro.
Aaron Beehoo, le 5 janvier 2022
développeur-blog-image

Introduction

Nous aimerions que vous soyez conscients que nous exigeons maintenant que les principaux cas d’utilisation de vos applications soient testés à l’aide de la certification Test SDK pour 2022R1.  Cet article vous fournira ce dont vous avez besoin pour que vos premiers tests soient configurés et exécutés complètement à partir de zéro.

Nous verrons comment créer le projet de test, générer les wrappers d’écran, créer les fichiers d’extension pour accéder à ces wrappers, ainsi que comment écrire les tests eux-mêmes.

Tout ce que vous avez à faire maintenant est de commencer à écrire de vrais tests!

Création de votre premier projet de test

Tout d’abord, vous devrez télécharger tous les fichiers requis:

  1. Exemples complets de fichiers de code sur Github AaronBeehoo
  2. Téléchargez et installez ici la version d'Acumatica que vous testez.
  3. Téléchargez et extrayez la version correspondante du SDK de test dans C:\Acumatica2021R2\TestSDK – SDK Acumatica
  4. Téléchargez .NET v4.8 ici

Vous êtes maintenant prêt à ouvrir Visual Studio et à créer un nouveau projet, à l’aide du modèle C# console App (.NET Core) :

ss01-création-test-sdk-tests

Une fois le projet créé, cliquez avec le bouton droit sur le projet et « Gérer les paquets Nuget », Puis cliquez sur l’icône des paramètres.

ss02-création-test-sdk-tests

Ensuite, vous devez créer une nouvelle source de package. Entrez un nom, incluez le numéro de build d'Acumatica et utilisez le dossier testSDK/packages que nous avons extrait précédemment de C:\Acumatica2021R2\TestSDK.

ss03-création-test-sdk-tests

Assurez-vous que la source de package nouvellement créée est sélectionnée comme indiqué ci-dessous.

ss04-création-test-sdk-tests

Installez toutes les références à partir de la source du paquet ajouté.

Veuillez noter que votre fichier .csproj devrait ressembler à l'exemple ci-dessous. Toutefois, vous devrez peut-être saisir manuellement « net4.8 » pour cibler le cadre approprié.

ss05-création-test-sdk-tests

Génération de wrappers d’écran

L'étape suivante consiste à créer un nouveau dossier nommé Wrappers dans le projet, puis à générer les wrappers nécessaires à vos tests en suivant les instructions ci-dessous. Vous devez générer les wrappers pour chaque écran utilisé dans vos tests, y compris les écrans personnalisés et les écrans Acumatica.

Ensuite, allez dans le dossier C:\Acumatica2021R2\TestSDK_21_205\ClassGenerator et modifiez le fichier exe.config. Assurez-vous d'inclure tous les écrans nécessaires à votre test dans l'attribut FilenameFilter . Vous devrez également remplir les autres attributs avec les informations correctes de vos sites.

Ensuite, faites un clic droit en maintenant la touche Maj enfoncée sur le dossier ClassGenerator et choisissez Ouvrir avec PowerShell comme indiqué ci-dessous.

ss06-création-test-sdk-tests

Dans PowerShell, exécutez la commande suivante pour générer les wrappers : .\ClassGenerator.exe . Les wrappers seront générés dans le dossier spécifié que vous avez déclaré dans le fichier de configuration.

Remarque : l’invite de commande de génération des wrappers prendra de 2 à 3 minutes pour afficher la progression. Ne t'en fais pas, elle n'est pas bloquée. Attendez simplement que le premier wrapper d’écran soit généré, puis la génération s’accélérera.

Copiez ensuite ces dossiers contenant les wrappers dans le dossier Wrappers de votre solution et félicitations, vous avez généré les wrappers pour les écrans Acumatica par défaut et personnalisés !

Créons maintenant des extensions pour les rendre accessibles!

Création d’extensions pour les écrans personnalisés

Nous créons les extensions pour les wrappers afin qu’ils deviennent accessibles à l’intérieur de votre solution.

Pour ce faire, il suffit de créer un dossier nommé « Extensions » dans le projet de test, puis de créer un fichier cs pour chaque écran , formulaire et action utilisés dans votre code.

Vous pouvez également consulter des exemples sans explication aux pages 10 à 12 du fichier ReadMe dans le dossier de téléchargement du SDK de test.

Maintenant, créez un fichier .cs dans le dossier des extensions comme suit.

ss07-création-test-sdk-tests

Faites un clic droit et inspectez l'élément du formulaire , du bouton ou du champ que vous voulez utiliser dans votre test. Copiez le libellé d'un champ unique ou facilement identifiable auquel vous souhaitez accéder, puis, à partir de ce nom de champ, recherchez l'identifiant de l'élément ou le nom du libellé du champ dans le fichier conteneur généré.

ss08-création-test-sdk-tests

Trouvez le nom de l' élément de formulaire dans le fichier wrapper généré.

ss09-création-test-sdk-tests

Recherchez ensuite la première occurrence du nom de classe. Copiez la classe et son nom du conteneur.

ss10-création-test-sdk-tests

Collez les deux valeurs du fichier d'extension au format indiqué ci-dessous pour les rendre accessibles dans votre test. Nom : Il convient de l'utiliser dans vos cas de test. Dans ce cas précis, il s'agit de CreateContactPopupForm.

ss11-création-test-sdk-tests

Vous devez maintenant créer un test Test.cs de base, comme illustré ci-dessus. Vous pouvez créer des tests plus complexes en suivant les exemples de code des pages 15 à 19 du fichier SDKReadme.pdf inclus dans l'archive .zip du kit de développement logiciel (TestSDK ).

Veuillez noter que l'exemple de code fourni dans le fichier README ne fonctionne que sur une installation vierge d'Acumatica. Nous recommandons systématiquement d'utiliser les données SalesDemo comme base, car elles contiennent déjà les éléments (articles , comptes , clients , contacts , etc.) préconfigurés.

Ensuite, configurez le fichier config.xml situé dans C:\Acumatica2021R2\TestSDK en le modifiant selon les besoins de votre site et ajoutez ce qui suit aux propriétés (clic droit sur le nom de la solution -> Propriétés) du projet de test afin de pouvoir simplement cliquer sur Exécuter (F5) dans Visual Studio pour lancer le fichier test.cs.

.\Tests.exe /config « C:\Acumatica2021R2\TestSDK\config.xml

ss12-création-test-sdk-tests

Après avoir configuré le fichier config.xml et les arguments de débogage de l'application, exécutez le projet. Le site Acumatica s'ouvrira et affichera l'interface utilisateur en temps réel, étape par étape. Consultez ensuite les fichiers de sortie dans le dossier de journalisation que vous avez défini dans les fichiers de configuration.

ss13-création-test-sdk-tests

Erreurs courantes

  • Le site Acumatica est maintenant inaccessible après la génération des wrappers/l'exécution des tests : un problème est survenu avec le fichier web.config du site Acumatica. Vous pouvez soit le sauvegarder afin de pouvoir le recopier dans le dossier, soit installer un nouveau site et régénérer les wrappers.
  • Le test s'est terminé avec le code d'erreur 0 : Le test a réussi.
  • Le test s'est terminé avec le code d'erreur 1 : fichier invalide ou manquant, probablement un dossier incorrect dans les fichiers de configuration ou un wrapper/une extension manquant(e).

Résumé

Dans cet article, nous avons fourni tout ce dont vous avez besoin en tant que développeurs pour configurer vos cas de test automatisés SDK de test initiaux afin de permettre une simulation parfaite des cas d’utilisation de leur solution basée sur l’interface utilisateur. Les tests SDK de test pourront s’exécuter sur chaque version mineure et majeure d’Acumatica pour assurer la compatibilité avec chaque mise à jour et s’il y a un échec, il vous permettra de savoir exactement où la défaillance s’est produite dans les journaux.

Pour des informations plus détaillées sur la rédaction des tests, vous trouverez la quasi-totalité des exemples nécessaires dans le fichier readme.pdf du kit de développement logiciel (Test SDK) . De plus, pour toute question non abordée dans ce fichier ou en cas d'erreur inattendue, vous pouvez soumettre un ticket d'assistance aux développeurs .

Bon test!

Auteur du blog

Catégories