OpenTest est un outil d'automatisation de test fonctionnel gratuit et open source pour les applications Web, les applications mobiles et les API.
Nous savons qu'il y a déjà beaucoup de choses, à la fois des produits commerciaux établis et des projets open source. Nous avons recherché l'outil approprié pendant longtemps et nous avons essayé un bon essai à pas mal d'entre eux, avec des résultats qui ne répondaient pas exactement à nos attentes. Nous recherchions un outil sur lequel nous pouvions standardiser, qui nous permettrait d'unifier les efforts d'automatisation des tests sur plusieurs équipes internes et externes avec différentes tailles, compétences, budgets et emplacements géographiques. Cet outil devrait intégrer les dernières pratiques les plus dernières dans l'industrie et, idéalement, être publiées sous une licence open source afin que nous puissions éliminer de longs processus et réduire les coûts. Compte tenu de ces considérations, ainsi que d'autres exigences, nous avons décidé que la construction à partir de zéro était le choix responsable.
OpenTest vise à offrir toutes les fonctionnalités d'un outil d'automatisation de test moderne tout en suivant un ensemble de principes sains. Nous visons à démocratiser l'automatisation des tests fonctionnels et à créer une grande communauté qui est autorisée à s'appuyer sur elle-même. Bien que rien dans la vie ne soit parfait et qu'aucun logiciel ne soit jamais complet, nous promettons que chaque fonctionnalité qui est entrée dans ce produit a été soigneusement pensée et soigneusement mise en œuvre pour atteindre le meilleur équilibre entre puissance et flexibilité d'un côté, et la convivialité de l'autre.
Tests Web , avec sélénium. Tous les navigateurs sont pris en charge. Exécutez des tests sur votre machine locale ou en utilisant un fournisseur de cloud.
Test mobile pour les applications Android et iOS avec Appium. Exécutez des tests sur votre machine locale ou en utilisant un fournisseur de cloud.
Test de l'API , construit sur la bibliothèque Apache HttpClient.
Tests de mots clés . Assemblez vos tests à l'aide de blocs de construction de niveau supérieur qui cachent la complexité de la technologie sous-jacente et vous permettent de vous exprimer de manière concise et lisible.
Support de script . Couvrir des scénarios de test complexes utilisant du code JavaScript, intégré de manière organique dans votre test axé sur les mots clés pour garder les choses propres et lisibles.
Tests parallèles . Le nombre de séances de test dans lesquelles vous pouvez exécuter en parallèle n'est limitée que par les ressources de la machine sur laquelle vous utilisez (mais il y a toujours plus de machines dans le cloud).
Tests distribués . Écrivez des tests qui s'exécutent de manière transparente sur plusieurs machines, réseaux et technologies. Écrivez des tests d'intégration qui s'étendent sur le mobile, le web, l'API et tout ce qui est entre les deux.
Tests basés sur les données . Exécutez un test plusieurs fois, sur un ensemble d'enregistrements de données conservés dans un fichier de données séparé.
Extensible . Intégrez à n'importe quelle technologie en créant vos propres actions de test personnalisées (mots clés).
Source Control-Friendly by Design. Travaillez en toute confiance, sachant que Git a le dos. Parfait pour les équipes grandes ou géographiquement distribuées.
Environnements . Créez vos tests une fois et exécutez-vous sur plusieurs environnements ou en utilisant différents ensembles de données de test.
Fonctionne bien avec les autres . Utilisez l'API HTTP simple pour prendre le contrôle des séances de test de démarrage et de surveillance, de collecte des résultats des tests, etc.
Multiplateforme , en cours d'exécution sur macOS, Windows et Linux.
(Et nous avons dû sauter beaucoup de fonctionnalités vraiment cool pour garder ce bref)
Prérequis: Node.js 8 ou plus; Java Runtime 8 ou plus.
Installer à partir de NPM:
npm install opentest -gTutoriel vidéo: https://getopentest.org/docs/installation.html (enregistré sur Windows)
Créez un répertoire nommé "Opentest" dans votre répertoire domestique à utiliser comme terrain de jeu pour ce guide et cd dans ce répertoire.
cd ~
mkdir opentest
cd opentest Note | Sur Windows, utilisez md au lieu de mkdir . |
Exécutez la commande ci-dessous
opentest quick-startVous devriez maintenant avoir ces fichiers et répertoires dans votre chemin actuel:
server
└── server.yaml
actor1
└── actor.yaml
test-repo
├── macros
│ └── ...
├── scripts
│ └── ...
├── templates
│ └── ...
└── tests
└── ... Le server et les répertoires actor1 seront utilisés comme répertoires de travail pour le serveur OpenTest et l'acteur de test, respectivement. Le répertoire test-repo est un échantillon de référentiel de test qui démontre certaines fonctionnalités de base de OpenTest.
Ouvrez une nouvelle fenêtre de terminal, cd au répertoire de travail du serveur et démarrez le serveur OpenTest:
cd ~/opentest/server
opentest serverLe serveur OpenTest (alias le serveur Sync) est une application Node.js dont les principales fonctions sont d'orchestrer l'exécution des tests et de fournir une interface utilisateur basée sur le Web.
Ouvrez une nouvelle fenêtre de terminal, cd au répertoire de travail de l'acteur et démarrez l'acteur de test:
cd ~/opentest/actor1
opentest actorL'acteur de test est une application Java qui s'exécute sur le système sous test et exécute des étapes de test comme indiqué par le serveur Sync.
Ouvrez un navigateur Web et accédez à http: // localhost: 3000.
Dans le menu, sélectionnez Session> Créer une session à partir du modèle . Sélectionnez les tests de démarrage rapide du modèle et cliquez sur Créer la session . Attendez quelques secondes et actualisez votre navigateur pour afficher le résultat de la session de test.
Il y a trois composants à Opentest:
Le serveur Sync , une application Node.js qui remplit principalement trois fonctions:
Orchestre l'exécution du test.
Expose une interface utilisateur Web qui peut être utilisée pour créer des séances de test, examiner les résultats des tests, etc.
Expose une API amicale qui peut être exploitée à peu près aux mêmes fins que l'interface utilisateur.
L'acteur de test , une application Java responsable de l'exécution de tests, comme indiqué par le serveur Sync. Il peut y avoir plusieurs acteurs participant au même test et les acteurs peuvent être déployés sur n'importe quelle machine dans n'importe quel réseau, y compris dans le cloud. La seule exigence est que l'acteur de test peut communiquer avec l'API HTTP exposée par le serveur Sync. Il n'est pas nécessaire que le serveur Sync puisse initier la communication avec l'acteur, ce qui simplifie considérablement la configuration dans des scénarios où l'acteur s'exécute dans un laboratoire qui est derrière un pare-feu ou dans un réseau qui n'est pas accessible à partir de la machine exécutant le serveur Sync.
Le référentiel de test , un répertoire avec une structure prédéfinie, sous contrôle source, contenant les différents actifs de test (fichiers de test, scripts, modèles de session de test, etc.).

OpenTest est un logiciel open source publié sous la licence MIT.
À moins que vous ne soyez explicitement indiqué autrement, toute contribution intentionnellement soumise par vous pour inclusion dans ce référentiel doit être concédé sous licence comme ci-dessus, sans aucune condition supplémentaire ou conditions.
Pour plus d'informations, veuillez consulter le document des directives contributives.
Merci à Browserstack pour avoir fourni un compte open-source pour les tests et le développement!
Plate-forme de test de croisement et open source ❤️ fournie par Sauce Labs