Générateur de script de test, exemple
Mise à jour : novembre 2007
Cet exemple montre comment utiliser des événements et des modèles de contrôle Microsoft UI Automation pour générer des scripts de test pour des scénarios de tests automatisés. Le générateur de script de test suit les interventions de l'utilisateur avec l'interface utilisateur (UI) d'une application cible et stocke les éléments et les événements intéressants.
Les informations à propos d'un élément et de tout événement associé sont enregistrées sur une classe d'enregistrement générale (UIAEventRecord.cs). Les informations générales et le script peuvent faire l'objet d'un dump comme texte brut pour l'analyse ou la modification à venir par un testeur, et, dans le cas du script généré, être utilisés pour une lecture ultérieure.
Une application basée sur un événement comme celle-ci comporte la limitation inhérente de ne pas pouvoir distinguer les modifications dans l'interface utilisateur (UI) qui résultent de l'entrée d'utilisateur direct ou indirect. Par exemple, l'application cible pour cet exemple contient trois contrôles interdépendants où l'intervention de l'utilisateur avec un contrôle provoque des modifications pour chacun des autres contrôles.
Attention : |
---|
UI Automation et le scénario de test automatisé traités dans cet exemple requièrent un contrat entre l'application, ou le développeur de contrôle, et un testeur. En d'autres termes, la capacité à exécuter de manière cohérente un script généré dépend de l'interface utilisateur cible statique et prévisible à utiliser. À cet égard, UI Automation ne doit pas être considéré comme une solution pour les scénarios où l'enregistrement et la lecture ultérieure de l'interaction avec des applications et contrôles aléatoires sont requis. Les problèmes courants, qui rendent impossibles l'enregistrement et la lecture « aveugles », surviennent lorsque les éléments n'ont pas d'identificateur unique, comme une propriété AutomationId, ou lorsque l'interface utilisateur est dynamique et imprévisible, comme la boîte de dialogue Gestionnaire des tâches Windows où les éléments répertoriés sous les onglets "Processus" ou "Applications" dépendent de l'état du système. La localisation d'éléments spécifiques pendant la lecture est pratiquement impossible dans ces instances. |
Cet exemple présente une fonctionnalité spécifique de Windows Presentation Foundation (WPF) et, par conséquent, ne suit pas les meilleures pratiques de développement d'applications. Pour un traitement complet des meilleures pratiques de développement d'applications Windows Presentation Foundation (WPF) et Microsoft .NET Framework, reportez-vous, selon les cas, aux documents suivants :
Accessibilité - Meilleures pratiques d'accessibilité
Sécurité - Sécurité de Windows Presentation Foundation
Localisation - Vue d'ensemble de la globalisation et de la localisation WPF
Génération de l'exemple
Cet exemple est composé des trois projets suivants :
ScriptGeneratorClient fournit le script qui génère les fonctionnalités pour l'exemple ; l'application cible est démarrée à partir de l'interface utilisateur cliente.
ScriptGeneratorTarget fournit l'interface utilisateur cible pour les applications clientes.
ExecuteScript fournit les fonctionnalités d'exécution de script pour l'exemple ; l'application cible est démarrée à partir de l'interface utilisateur cliente. Ce projet est exécuté manuellement après qu'un script a été généré et copié vers le fichier script.cs.
Installez le Kit de développement logiciel (SDK) Windows et ouvrez la fenêtre Commande de son environnement de génération. Dans le menu Démarrer, pointez sur Tous les programmes et sur Microsoft Windows SDK, puis cliquez sur CMD Shell.
Téléchargez l'exemple, généralement à partir de la documentation du Kit de développement logiciel (SDK), vers votre disque dur local.
Pour générer l'exemple à partir de la fenêtre Commande de l'environnement de génération, accédez au répertoire source de l'exemple. À l'invite de commandes, tapez MSBUILD.
Pour générer l'exemple dans Microsoft Visual Studio, chargez l'exemple de solution ou de fichier projet, puis appuyez sur CTRL+MAJ+B.
Génération d'un script
Pour exécuter l'exemple compilé à partir de la fenêtre Commande de l'environnement de génération, exécutez le fichier .exe du dossier Bin\Debug ou Bin\Release contenu sous le dossier du code source de l'exemple.
Pour exécuter l'exemple compilé avec le débogage dans Visual Studio, appuyez sur F5.
Remarque : |
---|
Cela démarre l'application cliente ScriptGenerator. L'application cible est démarrée à partir du client. |
Exécution d'un script
Fermez les applications clientes et cibles.
Ouvrez le fichier Script.cs dans le projet ExecuteScript.
Sélectionnez le code existant et collez-y le script généré.
Générez et exécutez le projet ExecuteScript.
Remarque : |
---|
Cela démarre l'application cliente ExecuteScript. L'application cible est démarrée à partir du client. |