Introduction
Le programme de certification d'Acumatica a pour but de fournir aux clients d'Acumatica une sélection d'intégrations Acumatica de confiance qui adhèrent aux meilleures pratiques d'Acumatica. Notre produit, SPS Commerce EDI, fait partie du processus de certification depuis les premiers jours de sa création et chaque année, nous avons constaté que le programme est devenu plus robuste et plus rigoureux. Au cours des dernières itérations de certification, le programme a intégré des tests automatiques au processus de certification afin que les participants puissent être testés sur des mises à jour mineures au fur et à mesure qu'elles sont publiées. Pour la version 2023 R1, l'aspect test automatique du processus de certification a été formalisé et rendu obligatoire. Cet article traite de la récente exigence d'un Customization Plug-in pour toute personne participant au programme ainsi que pour toute personne souhaitant utiliser la technologie pour améliorer ses propres processus internes.
Méthodologie d'essai
Lors des précédentes itérations de certification, nous avons soumis un script TEST SDK, des extensions de pages et un instantané de nos données de test. L'idée était que l'ingénieur de test restaure l'instantané des données, génère des pages wrappers (fichiers de code pour manipuler les pages dans Acumatica), puis exécute le script de test automatisé. À partir de la certification R1 2023, cette méthodologie ne sera plus valide. Le processus de certification actuel consiste à soumettre un script TEST SDK, des extensions de pages et un Customization Plug-In. Le Customization Plug-In était indiqué comme optionnel dans les documents de certification 2022r2, mais il est désormais obligatoire. Le Customization Plug-In est destiné à créer de manière programmatique des données de test au début d'un test. Cela permettra d'éliminer le processus manuel, inefficace et spécifique à chaque version de restaurer les instantanés.
Plug-in de personnalisation
Le Customization Plug-In est une personnalisation Acumatica avec un fichier de code qui hérite de l'objet simple CustomizationPlugin. L'objet CustomizationPlugin fournit deux événements à remplacer et une fonction permettant d'écrire des messages sur l'écran de personnalisation. Le fait de remplacer les événements vous permet d'exécuter du code à deux moments clés du processus de publication. Vous pouvez exécuter du code "après la mise à jour des fichiers du site web, mais avant son redémarrage" ou "après la publication de la personnalisation et le redémarrage du site web".
Une double tâche
Le plugin de personnalisation est destiné à atteindre deux objectifs principaux.
- L'une des principales fonctions du Customization Plugin est de préparer l'installation pour l'exécution du script TEST SDK. Pour ce faire, il faut notamment s'assurer que les pages personnalisées de la personnalisation testée sont disponibles. Lorsque le test automatisé démarre, il crée des fichiers de code SDK de test pour chaque page dont il a besoin pour exécuter son test. Si l'une de ces pages est sécurisée, le processus échouera. SPS Commerce limite l'accès aux pages de personnalisation en fonction de la configuration du client. Par conséquent, avant que le test puisse être exécuté, l'installation doit être configurée de manière à permettre l'accès à ces écrans. Vous trouverez ci-dessous un exemple de page qui doit être autorisée avant que le test puisse être effectué. La région "Définir les autorisations" dans le deuxième extrait de code s'occupe de cette tâche.
GIST : https://gist.github.com/patrick711/9d75d1c8c7c24f665febc8d0d4085daf#file-securepage-cs
- Installer ou rafraîchir les données de test. SPS Commerce EDI transforme les données des tables de préparation en commandes clients Acumatica dans le cadre de sa fonctionnalité clé. Le Customization PlugIn doit être capable de détecter si des données doivent être insérées dans ces tables de préparation ou si les données qu'elles contiennent doivent être remises à l'état "prêt à être importé".
Voici un exemple de plugin qui permet de s'assurer qu'il y a toujours des enregistrements à importer au début d'un test.
GIST : https://gist.github.com/patrick711/fb3e762aae893b4152aad19e6ab072e2#file-spsplugin-cs
Même si vous n'êtes pas en train de vous préparer au processus de certification, je pense que cette technologie sera intéressante pour tous ceux qui envisagent d'effectuer des tests automatisés.
Bon codage !