{"id":13013,"date":"2021-12-10T20:10:33","date_gmt":"2021-12-10T20:10:33","guid":{"rendered":"https:\/\/introspect.ca\/blog\/importing-and-exporting-python-modules\/"},"modified":"2026-06-27T14:59:11","modified_gmt":"2026-06-27T14:59:11","slug":"importing-and-exporting-python-modules","status":"publish","type":"blogposts","link":"https:\/\/introspect.ca\/fr\/blog\/importing-and-exporting-python-modules\/","title":{"rendered":"Importation et exportation de modules Python"},"content":{"rendered":"<h2><a name=\"_Toc21288572\"><\/a>Introduction<\/h2>\n<p>Il est parfois utile d&rsquo;importer des modules <a href=\"https:\/\/www.python.org\/\" target=\"_blank\" rel=\"noopener\">Python<\/a> externes dans des proc\u00e9dures de test d\u00e9velopp\u00e9es au sein du <a href=\"https:\/\/introspect.ca\/product\/introspect-esp-software\/\">logiciel Introspect ESP<\/a>. De m\u00eame, il peut s&rsquo;av\u00e9rer utile d&rsquo;exporter des m\u00e9thodes de test ou des proc\u00e9dures de test compl\u00e8tes depuis le logiciel Introspect ESP afin de les utiliser dans des scripts Python externes. Cette note d&rsquo;information \u00ab Technical Insights \u00bb d\u00e9crit les moyens de r\u00e9pondre \u00e0 ces deux besoins.  <\/p>\n<h2><a name=\"_Toc21288573\"><\/a>Importation de modules dans une proc\u00e9dure de test<\/h2>\n<h3><a name=\"_Toc21288574\"><\/a>Utilisation de la classe de composant PythonModule<\/h3>\n<p>Le logiciel Introspect ESP int\u00e8gre une classe de composant appel\u00e9e <strong>\u00ab PythonModule<\/strong> \u00bb ; il s&rsquo;agit de la m\u00e9thode recommand\u00e9e pour importer des fonctions ou des modules Python externes dans les proc\u00e9dures de test ex\u00e9cut\u00e9es \u00e0 partir du logiciel Introspect ESP. Cette section d\u00e9crit le concept de base de cette classe de composant et illustre son utilisation \u00e0 l&rsquo;aide d&rsquo;exemples concrets. <\/p>\n<p>Un composant <strong>PythonModule<\/strong> peut \u00eatre instanci\u00e9 en l&rsquo;ajoutant \u00e0 la proc\u00e9dure de test <a href=\"https:\/\/introspect.ca\/product\/introspect-esp-software\/\" target=\"_blank\" rel=\"noopener\">logiciel Introspect ESP<\/a> via le menu \u00ab Ajouter un composant \u00bb. Veuillez noter que cette classe de composant figure dans la cat\u00e9gorie \u00ab utilitaires \u00bb du menu, comme le montre l&rsquo;image suivante. <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-1-300x175.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4274\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-1-300x175.png\" alt=\"Exemple de module Python - Fen\u00eatre de journalisation\" width=\"868\" height=\"506\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-1-300x175.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-1-1024x597.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-1-768x448.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-1-600x350.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-1.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>Lorsque le composant <strong>PythonModule<\/strong> est instanci\u00e9, le logiciel Introspect ESP effectue plusieurs actions automatis\u00e9es. Tout d\u2019abord, il ajoute le module \u00e0 l\u2019onglet \u00ab Composants \u00bb, comme c\u2019est le cas pour tous les autres composants instanci\u00e9s. Ensuite, il cr\u00e9e un fichier .py vide dans le sous-dossier \u00ab Params \u00bb du dossier \u00ab Test Procedure \u00bb sous Windows. Le nom de ce fichier correspond au nom de la classe du composant qui a \u00e9t\u00e9 instanci\u00e9. Autrement dit, comme le montrent les deux images suivantes, le logiciel cr\u00e9e un module nomm\u00e9 pythonModule1 et un fichier correspondant nomm\u00e9 pythonModule1.py.<\/p>\n<p>&nbsp;<\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-2-300x149.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4276 aligncenter\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-2-300x149.png\" alt=\"\" width=\"868\" height=\"431\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-2-300x149.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-2-1024x510.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-2-600x299.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-2.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-3-300x126.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4278\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-3-300x126.png\" alt=\"\" width=\"868\" height=\"365\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-3-300x126.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-3-768x323.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-3-600x252.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-3.png 1015w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>Par d\u00e9faut, le fichier pythonModule1.py est vide, et le logiciel Introspect ESP lance g\u00e9n\u00e9ralement un \u00e9diteur de code pour permettre \u00e0 l&rsquo;utilisateur de modifier ce fichier. C&rsquo;est \u00e0 ce moment-l\u00e0 que du code externe peut \u00eatre ajout\u00e9. Dans l\u2019exemple suivant, nous pr\u00e9sentons deux d\u00e9clarations de fonction : l\u2019une pour cr\u00e9er une m\u00e9thode d\u2019impression personnalis\u00e9e et la seconde pour calculer une suite de Fibonacci. Comme vous pouvez le constater, n\u2019importe quel code Python peut \u00eatre ins\u00e9r\u00e9 dans ce fichier, y compris des d\u00e9clarations de fonction, des appels de fonction et des importations de biblioth\u00e8ques.   <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-300x108.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4280\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-300x108.png\" alt=\"\" width=\"868\" height=\"313\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-300x108.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-1024x369.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-768x277.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-1536x554.png 1536w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-2048x738.png 2048w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-4-600x216.png 600w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>Une fois le fichier pythonModule1.py enregistr\u00e9, vous pouvez revenir au logiciel Introspect ESP sans plus jamais avoir \u00e0 vous soucier du code source. \u00c0 la place, nous importons le contenu du fichier en ajoutant l\u2019appel pythonModule1.run() dans le volet principal \u00ab Test Procedure \u00bb. Une fois le fichier import\u00e9 de cette mani\u00e8re, nous pouvons appeler n\u2019importe quelle fonction qui y a \u00e9t\u00e9 d\u00e9clar\u00e9e. Par exemple, l\u2019image suivante montre comment appeler le calculateur de la suite de Fibonacci d\u00e9clar\u00e9 dans l\u2019exemple ci-dessus ; l\u2019image suivante pr\u00e9sente quant \u00e0 elle le journal d\u2019ex\u00e9cution de la proc\u00e9dure de test, confirmant que le fichier Python externe a bien \u00e9t\u00e9 import\u00e9 et que la fonction de la suite de Fibonacci a \u00e9t\u00e9 ex\u00e9cut\u00e9e.   <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-5-300x228.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4282\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-5-300x228.png\" alt=\"\" width=\"868\" height=\"658\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-5-300x228.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-5-1024x777.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-5-768x583.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-5-600x455.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-5.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-6-300x228.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4284\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-6-300x228.png\" alt=\"\" width=\"868\" height=\"659\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-6-300x228.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-6-1024x777.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-6-768x583.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-6-600x456.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-6.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<h3><\/h3>\n<h3>Placer un fichier Python dans le dossier \u00ab params \u00bb<\/h3>\n<p>Si vous souhaitez importer un fichier Python existant sans avoir \u00e0 en coller le contenu dans un fichier vierge, il vous suffit de placer ce fichier dans le sous-dossier \u00ab Params \u00bb de votre dossier cible Introspect ESP Software. Lorsque vous proc\u00e9dez ainsi, le logiciel Introspect ESP Software cr\u00e9e automatiquement une instance de la classe de composant <strong>PythonModule<\/strong>. Dans l&rsquo;exemple suivant, nous pla\u00e7ons un fichier nomm\u00e9 \u00ab mySecondPythonModule.py \u00bb dans le dossier \u00ab Params \u00bb, comme le montre l&rsquo;image ci-dessous.  <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-7-300x126.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4286\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-7-300x126.png\" alt=\"\" width=\"868\" height=\"365\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-7-300x126.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-7-768x323.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-7-600x252.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-7.png 1015w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>Le fichier lui-m\u00eame ne comporte qu&rsquo;une seule ligne, qui correspond \u00e0 une instruction d&rsquo;importation de la biblioth\u00e8que Python int\u00e9gr\u00e9e \u00ab uuid \u00bb ; elle n&rsquo;est incluse ici qu&rsquo;\u00e0 titre d&rsquo;exemple.<\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-300x33.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright wp-image-4288\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-300x33.png\" alt=\"\" width=\"868\" height=\"97\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-300x33.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-1024x114.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-768x86.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-1536x171.png 1536w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-2048x229.png 2048w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-8-600x67.png 600w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>En ouvrant la proc\u00e9dure de test dans le logiciel Introspect ESP, on constate que la classe <strong>`PythonModule`<\/strong> est automatiquement instanci\u00e9e, comme le montre l&rsquo;image suivante.<\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-9-300x141.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4290\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-9-300x141.png\" alt=\"\" width=\"868\" height=\"409\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-9-300x141.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-9-1024x482.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-9-768x362.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-9-600x283.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-9.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>Nous allons maintenant utiliser ce module dans le volet \u00ab Proc\u00e9dure de test \u00bb. Plus pr\u00e9cis\u00e9ment, nous importons le module en ex\u00e9cutant la m\u00e9thode `mySecondPythonModule.run()`, comme pr\u00e9c\u00e9demment. Nous pouvons alors utiliser n&rsquo;importe quelle fonction int\u00e9gr\u00e9e de la biblioth\u00e8que `uuid` que nous venons d&rsquo;importer. Dans l&rsquo;exemple suivant, nous l&rsquo;utilisons pour cr\u00e9er un identifiant utilisateur unique, puis pour afficher cet identifiant dans la fen\u00eatre de journalisation.   <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-10-300x227.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4292\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-10-300x227.png\" alt=\"\" width=\"868\" height=\"658\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-10-300x227.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-10-1024x776.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-10-768x582.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-10-600x455.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-10.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>Le r\u00e9sultat de l&rsquo;ex\u00e9cution de la proc\u00e9dure de test ci-dessus est pr\u00e9sent\u00e9 dans l&rsquo;image suivante. Comme vous pouvez le constater, le module Python a \u00e9t\u00e9 import\u00e9 avec succ\u00e8s sans encombrer la fen\u00eatre de la proc\u00e9dure de test. <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-11-300x228.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4294\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-11-300x228.png\" alt=\"\" width=\"868\" height=\"659\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-11-300x228.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-11-1024x777.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-11-768x583.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-11-600x456.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-11.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<h2><a name=\"_Toc21288575\"><\/a>Importation manuelle de fichiers Python<\/h2>\n<p>Outre la classe <strong>PythonModule<\/strong>, il est possible d&rsquo;importer manuellement des fichiers dans les proc\u00e9dures de test cr\u00e9\u00e9es au sein du logiciel Introspect ESP. Cela s&rsquo;effectue \u00e0 l&rsquo;aide de constructions courantes du langage Python. Par exemple, l&rsquo;image suivante illustre l&rsquo;importation de la biblioth\u00e8que uuid directement depuis la proc\u00e9dure de test.  <\/p>\n<p>Veuillez noter que le logiciel Introspect ESP recherche automatiquement les fichiers Python externes dans le chemin d&rsquo;acc\u00e8s suivant :<\/p>\n<p>&lt;Compte utilisateur&gt;\\Documents\\Introspect\\PythonCode<\/p>\n<p>Tout fichier stock\u00e9 dans ce r\u00e9pertoire peut \u00eatre import\u00e9 tr\u00e8s simplement \u00e0 l&rsquo;aide de l&rsquo;appel<\/p>\n<p><em><strong>importer<\/strong> nom_fichier<\/em><\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-12-300x228.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4296\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-12-300x228.png\" alt=\"Exemple de module Python\" width=\"868\" height=\"659\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-12-300x228.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-12-1024x777.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-12-768x583.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-12-600x456.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-12.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<h1><\/h1>\n<p>&nbsp;<\/p>\n<h2><a name=\"_Toc21288576\"><\/a>Exportation d&rsquo;une proc\u00e9dure de test<\/h2>\n<h3><a name=\"_Toc21288577\"><\/a>Utilisation de la classe de composant TestAsPythonScript<\/h3>\n<p>Le logiciel Introspect ESP int\u00e8gre une classe de composants appel\u00e9e \u00ab <strong>TestAsPythonScript<\/strong> \u00bb ; il s&rsquo;agit d&rsquo;un utilitaire de g\u00e9n\u00e9ration automatique de code qui vous permet d&rsquo;exporter des algorithmes d\u00e9velopp\u00e9s au sein du logiciel Introspect ESP afin de les utiliser dans des scripts Python externes. L&rsquo;avantage de cet outil est qu&rsquo;il se charge automatiquement de l&rsquo;initialisation des facteurs de forme, de la cr\u00e9ation des contextes de composants et de la connexion au mat\u00e9riel. Cette section d\u00e9crit le concept de base de cette classe de composant.  <\/p>\n<p>Un composant <strong>TestAsPythonScript<\/strong> peut \u00eatre instanci\u00e9 en l&rsquo;ajoutant \u00e0 la proc\u00e9dure de test logiciel Introspect ESP via le menu \u00ab Ajouter un composant \u00bb. Veuillez noter que cette classe de composant figure dans la cat\u00e9gorie \u00ab utilitaires \u00bb du menu, comme le montre l&rsquo;image suivante. <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-13-300x175.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4298\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-13-300x175.png\" alt=\"\" width=\"868\" height=\"507\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-13-300x175.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-13-1024x598.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-13-768x448.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-13-600x350.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-13.png 1322w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>REMARQUE : la fonction \u00ab <strong>TestAsPythonScript \u00bb<\/strong> a \u00e9t\u00e9 introduite dans la version 3.6.79 du logiciel Introspect ESP et n&rsquo;est pas disponible dans les versions ant\u00e9rieures.<\/p>\n<p>Lorsque le composant <strong>\u00ab TestAsPythonScript \u00bb<\/strong> est instanci\u00e9, il est ajout\u00e9 au volet \u00ab Composants \u00bb comme n\u2019importe quelle autre classe de composant. Cependant, contrairement aux autres classes de composant, cette classe ne dispose d\u2019aucune m\u00e9thode appelable. De ce fait, le volet \u00ab Proc\u00e9dure de test \u00bb n\u2019est pas modifi\u00e9, comme le montre la capture d\u2019\u00e9cran suivante. \u00c0 la place, le logiciel Introspect ESP utilise l\u2019existence du composant testAsPythonScript1 comme d\u00e9clencheur pour enregistrer un fichier Python de sortie pouvant \u00eatre utilis\u00e9 dans des scripts externes. Ce fichier de sortie est une repr\u00e9sentation exacte de la proc\u00e9dure de test qui a \u00e9t\u00e9 modifi\u00e9e depuis le logiciel.    <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-14-300x228.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4300\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-14-300x228.png\" alt=\"\" width=\"868\" height=\"660\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-14-300x228.png 300w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-14-1024x778.png 1024w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-14-768x584.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-14-600x456.png 600w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-14.png 1329w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<p>&nbsp;<\/p>\n<p>Le code g\u00e9n\u00e9r\u00e9 automatiquement pour la proc\u00e9dure de test ci-dessus figure \u00e0 la page suivante. Comme vous pouvez le constater, tous les aspects li\u00e9s \u00e0 l&rsquo;instanciation externe des composants Introspect sont g\u00e9r\u00e9s automatiquement. <\/p>\n<a href=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-255x300.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4302\" src=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-255x300.png\" alt=\"\" width=\"868\" height=\"1020\" srcset=\"https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-255x300.png 255w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-871x1024.png 871w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-768x903.png 768w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-1306x1536.png 1306w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-1742x2048.png 1742w, https:\/\/introspect.ca\/wp-content\/uploads\/2021\/12\/Blog-2-Figure-15-600x705.png 600w\" sizes=\"auto, (max-width: 868px) 100vw, 868px\" \/><\/a>\n<h3><a name=\"_Toc21288578\"><\/a>Exportation manuelle des classes de composants<\/h3>\n<p>Les classes de composants ESP d&rsquo;Introspect peuvent \u00eatre instanci\u00e9es dans des scripts Python externes en suivant les instructions fournies dans la note d&rsquo;application :<\/p>\n<p>Utilisation des composants dans des scripts Python externes.pdf<\/p>\n<p>Cette note d&rsquo;application se trouve dans le dossier \u00ab Doc \u00bb de l&rsquo;installation d&rsquo;Introspect ESP.<\/p>\n<h2>Conclusion<\/h2>\n<p>Gr\u00e2ce aux composants int\u00e9gr\u00e9s \u00ab PythonModule \u00bb et \u00ab TestAsPythonScript \u00bb du logiciel Introspect ESP, les utilisateurs peuvent d\u00e9sormais importer facilement des fonctions ou des modules Python externes dans leurs proc\u00e9dures de test et exporter des scripts destin\u00e9s \u00e0 une utilisation externe. Ce logiciel prim\u00e9 a permis d&rsquo;am\u00e9liorer l&rsquo;efficacit\u00e9 des proc\u00e9dures de test de nombreux ing\u00e9nieurs. Pour en savoir plus sur le logiciel Introspect ESP, cliquez <a href=\"https:\/\/introspect.ca\/product\/introspect-esp-software\/\">ici<\/a>.  <\/p>\n<p>Pour plus d&rsquo;informations sur nos produits, veuillez contacter info@introspect.ca.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Il est parfois utile d&rsquo;importer des modules Python externes dans des proc\u00e9dures de test d\u00e9velopp\u00e9es au sein du logiciel Introspect ESP. De m\u00eame,<\/p>\n","protected":false},"author":18,"featured_media":4347,"menu_order":0,"template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"class_list":["post-13013","blogposts","type-blogposts","status-publish","has-post-thumbnail","hentry","blog_topics-perspectives-techniques","blog_tags-iesp","blog_tags-pythonmodule"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/blogposts\/13013","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/blogposts"}],"about":[{"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/types\/blogposts"}],"author":[{"embeddable":true,"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/users\/18"}],"version-history":[{"count":1,"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/blogposts\/13013\/revisions"}],"predecessor-version":[{"id":13014,"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/blogposts\/13013\/revisions\/13014"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/media\/4347"}],"wp:attachment":[{"href":"https:\/\/introspect.ca\/fr\/wp-json\/wp\/v2\/media?parent=13013"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}