Docs Autonomy
Migrer

Selenium

Transformez des tests Selenium WebDriver en Java, Python, C# ou JavaScript en cas de test Autonomy formés de résultats attendus, sans objets de page ni attentes explicites.

Les suites Selenium diffèrent selon le langage, mais elles partagent une même forme : un driver, des locators, des attentes explicites et des objets de page. La migration ne dépend pas du langage, car l'agent de code lit ce que vérifie chaque test, et non ses bindings.

Prompt

Collez ce prompt dans un agent de code connecté au serveur MCP Autonomy, depuis le dépôt :

Codetext
Migrez les tests Selenium de ce dépôt vers Autonomy avec les outils MCP Autonomy.

Configuration
1. Appelez autonomy_project_list et demandez-moi quel projet utiliser. Appelez autonomy_environment_list avec son projectId et demandez-moi dans quel environnement exécuter les tests.
2. Appelez autonomy_test_case_list avec le projectId. Ignorez les tests déjà couverts par un cas de test existant.

Pour chaque test
3. Créez UN cas de test avec autonomy_test_case_create : projectId, name = la méthode de test ou son nom d'affichage, platforms = ["web"].
4. Rédigez chaque étape comme un résultat attendu : ce qui est vrai une fois l'étape terminée, en langage courant (« Un nouveau compte existe pour une adresse e-mail inédite »). Dites ce que le test prouve, pas comment : ni clics, ni locators, ni attentes, ni nouvelles tentatives, ni appels assert. Une étape peut couvrir plusieurs actions au service d'un même résultat attendu. Limitez-vous à 12 étapes ; découpez un test plus long en plusieurs cas de test.
5. Chaque étape est {id, text, attachments[]}. Chaque pièce jointe a un id, un kind et exact. Kinds : account {role}, inbox (sans adresse = une nouvelle boîte de réception par exécution), phone, file, screenshot, data {label, value} ou {label, intent} pour des données générées.
6. N'écrivez jamais de mot de passe, de jeton ni de clé dans une étape. Pour chaque compte avec lequel la suite se connecte (objets de page de connexion, méthodes de setup, fichiers properties), demandez-moi de l'enregistrer dans le tableau de bord (Sign-ins du projet, New sign-in) et de vous donner son nom de compte, puis commencez le test par une étape comme « Le propriétaire de la boutique est connecté », avec ce compte en pièce jointe. Pour les autres secrets des fichiers de configuration ou des variables d'environnement, proposez des noms et référencez-les sous la forme {{env.NAME}} ; ajoutez-les comme valeurs secrètes avec autonomy_environment_upsert seulement après mon accord.
7. Valeurs sur lesquelles porte le test (le texte que getText() renvoie à un assert, un code promo qui doit s'appliquer, une saisie qui doit être refusée) : une pièce jointe data avec exact: true. Autre configuration : {{env.NAME}}.
8. Données d'inscription (e-mails, noms, mots de passe, suffixes aléatoires) : une nouvelle boîte de réception et des données générées, jamais une valeur fixe.
9. Intégrez les méthodes des objets de page dans ce que le test prouve ; abandonnez leurs locators. Abandonnez WebDriverWait, ExpectedConditions, Thread.sleep et les règles de nouvelles tentatives. Pour les tests pilotés par les données, ne créez un cas de test par ligne que si les lignes attendent des résultats différents ; sinon, utilisez des données de test.

Ensuite
10. Si la suite regroupe des tests (classes, groupes TestNG, tags JUnit, markers pytest), proposez de créer un plan de test par groupe avec autonomy_test_plan_create.
11. Exécutez un cas de test migré avec autonomy_run_trigger dans l'environnement que j'ai choisi. Suivez-le avec autonomy_run_get (en transmettant le dernier cursor et waitMs) jusqu'à ce qu'il se termine. Pour toute étape qui n'a pas réussi, lisez autonomy_run_step_actions et dites-moi ce qui s'est passé.
12. Terminez par un tableau : test source, ID du cas de test, nombre d'étapes, et tout ce que vous n'avez pas pu faire correspondre.

Correspondances

SeleniumAutonomy
Une méthode de testUn cas de test.
Classes de test, groupes, tags, markersÉventuellement, un plan de test.
driver.get, click, sendKeys, locators By.*, objets de pageIntégrés au résultat attendu de l'étape. L'agent trouve les contrôles.
assertEquals("Order placed", el.getText())Le résultat attendu, avec Order placed comme pièce jointe data marquée Exact.
WebDriverWait, ExpectedConditions, pauses, règles de nouvelles tentativesSupprimés.
Objets de page de connexion, méthodes de setupUne étape de connexion avec une connexion enregistrée jointe comme account.
Identifiants et configuration dans des fichiers propertiesDes connexions pour les comptes ; {{env.NAME}} pour le reste, marquée secrète s'il s'agit d'un identifiant.
URL de baseLa cible Web de l'environnement.
sendKeys avec un chemin de fichierUne pièce jointe file issue des Files du projet.
getScreenshotAsUne pièce jointe screenshot.
Data providers, tests paramétrésUn cas de test par ligne uniquement si les lignes attendent des résultats différents.
Grid et capabilities de navigateurInutiles. Les exécutions web utilisent un Chrome vierge.

Consultez l'aperçu de la migration pour un exemple détaillé.

Vous n’avez pas trouvé ?

On this page