Créer des tests Acumatica Test SDK à partir de zéro pour les ISVs

Puisque nous exigeons maintenant que les principaux cas d'utilisation de vos applications soient testés à l'aide du SDK de test pour la certification 2022R1, cet article vous guidera pas à pas dans la configuration et l'exécution de vos premiers tests à partir de zéro.
Aaron Beehoo 5 janvier 2022
developer-blog-image

Introduction

Nous aimerions que vous sachiez que nous exigeons désormais que les principaux cas d'utilisation de vos applications soient testés à l'aide du SDK de test pour la certification 2022R1. Cet article vous fournira ce dont vous avez besoin pour configurer et exécuter vos premiers tests en partant 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.

Il ne vous reste plus qu'à commencer à écrire de vrais tests !

Création du premier projet de test

Tout d'abord, vous devez télécharger tous les fichiers nécessaires :

  1. Fichiers de code d'exemple complets sur GitHub : AaronBeehoo
  2. Téléchargez et installez ici la version d'Acumatica que vous testez
  3. Téléchargez et décompressez la version correspondante du SDK de test dans le répertoire C:\Acumatica2021R2\TestSDK –Acumatica SDK
  4. Téléchargez .NET v4.8ici

Vous êtes maintenant prêt à ouvrir Visual Studio et à créer un nouveau projet, en utilisant le modèle C# Console App (.NET Core) :

ss01-création-de-tests-SDK-de-test

Une fois le projet créé, cliquez avec le bouton droit de la souris sur le projet et "Manage Nuget Packages", puis cliquez sur l'icône des paramètres.

ss02-création-de-tests-pour-le-SDK

Ensuite, vous devez créer une nouvelle source de paquets. Saisissez un nom, indiquez le numéro de build d’Acumatica et utilisez le dossier «testSDK/packages» que nous avons extrait précédemment depuisC:\Acumatica2021R2\TestSDK.

ss03-création-de-tests-pour-le-SDK

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

ss04-création-de-tests-SDK-de-test

Installeztoutesles références provenant de la source de paquets ajoutée.

Veuillez noter que votre fichier.csprojdoit ressembler à celui que nous vous présentons ci-dessous. Cependant, vous devrez peut-être saisir manuellement «net4.8» pour cibler le framework approprié.

ss05-création-de-tests-pour-le-SDK

Génération d'habillages 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 que vous utilisez pour vos tests, qu'il s'agisse d'écrans personnalisés ou d'écrans Acumatica.

Rendez-vous ensuite dans le dossierC:\Acumatica2021R2\TestSDK_21_205\ClassGenerator, modifiez lefichier exe.configet veillez à inclure tous les écrans dont vous aurez besoin pendant votre test dans l'attributFilenameFilter. Vous devrez également renseigner les autres attributs avec les informations correctes provenant de vos sites.

Ensuite, appuyez sur Maj + clic droit sur le dossier «ClassGenerator» et sélectionnez «Ouvrir avec PowerShell », commeindiqué ci-dessous.

ss06-création-de-tests-pour-le-SDK

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 que vous avez indiqué dans le fichier de configuration.

Remarque :l'affichage de la progression de la commande « generate wrappers » prendra 2 à 3 minutes ; ne vous inquiétez pas, le programme n'est pas bloqué. Attendez simplement que le premier wrapper d'écran soit généré ; ensuite, les autres s'enchaîneront rapidement.

Copiez ensuite ces dossiers contenant les wrappers dans le dossier« Wrappers »de votre solution. Et voilà, vous disposez désormais des wrappers générés pour les écrans Acumatica par défaut et les écrans 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 au sein de votre solution.

Pour ce faire, il suffit de créer un dossier nommé «Extensions » dansle projet de test, puis de créer un fichier.cspour chaqueécran,formulaire etactionutilisés dans votre code.

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

Créez maintenant un fichier .cs dans le dossier extensions comme suit.

ss07-création-de-tests-pour-le-SDK

Faites un clic droit et inspectez l’élément duformulaire,du bouton ou du champque vous souhaitez utiliser dans votre test. Copiez le texte de l’étiquette d’un champ unique ou facilement identifiable auquel vous souhaitez accéder, puis utilisez ce nom de champ pour rechercher, dans le fichier wrapper généré,l’identifiant de l’élémentou le nom de l’étiquette du champ.

ss08-création-de-tests-pour-le-SDK

Recherchez le nom del'élément de formulairedans le fichier wrapper généré.

ss09-création-de-tests-pour-le-SDK

Recherchez ensuite la première occurrence du nom de la classe. Copiez laclasse et nom de la classe dansle wrapper.

ss10-création-de-tests-SDK-de-test

Collez les deux valeurs issues du fichier d'extension au format indiqué ci-dessous afin qu'elles soient accessibles dans votretest. Nom. Il est recommandé de les utiliser dans vos cas de test. Dans ce cas précis,CreateContactPopupForm.

ss11-création-de-tests-pour-le-SDK

Vous devez maintenant créer un testTest.csde base, comme indiqué ci-dessus. Vous pouvez réaliser des tests plus complexes en suivant les extraits de code figurant aux pages 15 à 19 du fichierSDKReadme.pdf, disponible dans l'archive .zip« TestSDK »téléchargée.

Veuillez noter que l'exemple de code fourni dans lefichier READMEne fonctionne que sur une installation vierge d'Acumatica. Nous recommandons toujours d'utiliser les données« SalesDemo »comme ensemble de données de base, car elles contiennentdes articles,des comptes,des clients,des contacts, etc. déjà configurés.

Ensuite, configurez le fichierconfig.xmlsitué dansle répertoire C:\Acumatica2021R2\TestSDKen l'adaptant si nécessaire à votre site, puis ajoutez les éléments suivants dans les 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 fichiertest.cs.

.\NTests.exe /config "C:\NAcumatica2021R2\NTestSDK\config.xml

ss12-création-de-tests-pour-le-SDK

Après avoir configuré le fichierconfig.xmlet défini les paramètres de débogage de l'application, lancez le projet. Le site Acumatica s'ouvrira et vous guidera à travers les différentes étapes, en affichant l'interface utilisateur au fur et à mesure de son exécution. Vérifiez ensuite les fichiers de sortie dans le dossier de journalisation que vous avez défini dans les fichiers de configuration.

ss13-création-de-tests-pour-le-SDK

Erreurs courantes

  • Le site Acumatica n'est plus accessible après la générationdes wrappers ou l'exécution des tests :une erreur s'est produite au niveau du fichierweb.configdu site Acumatica. Enregistrez-le afin de pouvoir recopier le fichier d'origine dans le dossier, ou installez simplement un nouveau site et régénérez les wrappers.
  • Le test s'est terminé avecle code d'erreur 0 :le test s'est déroulé avec succès.
  • Le test s'est terminé avecle code d'erreur 1 :fichier invalide ou manquant ; cela est probablement dû à un chemin d'accès incorrect indiqué quelque part dans les fichiers de configuration, ou à l'absence d'un wrapper ou d'une extension.

Résumé

Dans cet article, nous avons fourni tout ce dont vous avez besoin en tant que développeurs pour mettre en place vos premiers cas de tests automatisés Test SDK afin de permettre une simulation parfaite des cas d'utilisation de leur solution. Les tests du Test SDK pourront s'exécuter sur chaque version mineure et majeure d'Acumatica afin d'assurer la compatibilité avec chaque mise à jour et, en cas d'échec, ils vous indiqueront exactement où l'échec s'est produit dans les logs.

Pour obtenir des informations plus détaillées sur la rédaction des tests proprement dite, vous trouverez la quasi-totalité des exemples nécessaires dans le fichier «Test SDKreadme.pdf ».Par ailleurs, pour toute question qui ne trouverait pas de réponse dans ce fichier ou en cas d'erreurs inattendues, vous pouvez créer un ticketauprès du support développeursafin d'obtenir de l'aide.

Joyeux test !

Auteur du blog

Catégories