CodeceptJS est un framework de test de bout en bout moderne avec une syntaxe spéciale de style "BDD". Les tests sont écrits comme un scénario linéaire de l'action de l'utilisateur sur un site. Chaque test est décrit dans une fonction de "scenario" avec l'objet "I" passé dedans. L'objet "I" est un "actor", une abstraction pour un utilisateur testeur. Visiter le site officiel pour plus d'informations.
Dans la première partie on commencera par installer les prérequis et configurer l'environnement local, puis on verra en détails l'architechture du projet, le framework et les technologies utilisées et finalement comment on peut collaborer ensemble en suivant le git branching model et les process qu'on a définis, à savoir: "branch naming convention, "semantic versionning", "reviews process", "merging" et finalement les "tags".
Minimum v1.8 : Télécharger ici Ajouter JDK dans la variable d'environnement
Minimum v8 : Télécharger ici
Ouvrez git bash, positionnez vous sur le chemin où vous voulez cloner le projet puis exécutez cette commande :
git clone https://github.com/acialatlantique/intranet.git
Dans le dossier conf, double cliquer sur le fichier cc_config.bat, ce fichier contient un script qui installe et configure les variables d'environnement qui concernent les modules npm présents dans le dossier du projet. Pour s'assurer que l'installation s'est bien passée, fermez et rouvrez la cmd puis exécuter la commande suivante :
allure --version
'Le output doit être une version'. Si au contraire vous obtenez "allure n’est pas reconnu en tant que commande interne", je vous invite à contacter le responsable du projet.
Installer EdgeDriver helper sur windows:
DISM.exe /Online /Add-Capability /CapabilityName:Microsoft.WebDriver~~~~0.0.1.0
Félicitations !! vous pouvez désormais lancer un premier test. Ouvrez une invite de commande puis exécutez la commande suivante :
cc run --steps
Dans cette partie on verra ensemble la stratégie de Git "branching" qu'on a choisi pour développer et publier notre code source ainsi que les règles qu'on doit suivre pendant le développement pour avoir une bonne organisation et surtout réduire les conflits de code.
Dans ce projet, la "base branch" est la branche MASTER.
Master est la branche par défaut qui contient toujours un code stable.
Il est strictement interdit de merger directement dans cette branche, la bonne méthode est de passer par une Pull request.
Pour contribuer au projet, merci de suivre les étapes suivantes :
Toujours commencer par télécharger la dernière mise à jour depuis Origin Master jusqu'à notre local Master :
git checkout master
git pull origin master
git checkout master : Se déplacer vers la branche master
git pull origin master : Télécharger la dernière màj de la branche master
Pour brancher à partir de Master, il faut toujours se positionner sur Master puis créer une nouvelle branche, dans l'exemple suivant on crée une branche pour la fonctionnalité loginDg :
git checkout master
git checkout -b test-loginDg
git checkout master : Se déplacer vers la branche master
git checkout -b test-loginDg : Créer une nouvelle branche "test-loginDg"
La branche est créée et on est rediriger vers elle automatiquement, pour vérifier où on est positionner éxécuter cette commande :
git status
Etape3 : Faites des changements dans le code, "commit" les changements et "push" vers Origin(GitHub)
Après avoir fait des changements, on est prêt pour un premier commit
git status
git add .
git status
git commit -m "mon premier commit"
git push origin HEAD
git status : Affiche le statut du projet, les fichiers qu'on a modifié seront affichés en rouge
git add . : Prépare les fichiers qu'on a modifié à étre commités
git status : Les fichiers qui étaient affichés en rouge sont maintenant en vert, on peut désormais faire un commit
git commit -m "mon premier commit" : screenshot du code actuel
git push origin HEAD : cette commande va créer une branche "test-loginDg" au niveau de l'Origin(Github) et uploader le code qu'on a commité
Etape 5 : Allez sur "Github project"
En général, une fois qu'une nouvelle branche est "push", Github la détecte automatiquement et vous demandera de créer une nouvelle Pull request. Créer la PR et demander des "Reviews" aux autres contributeurs.
Une fois que la PR est approuvée, elle sera prête pour le Merge vers Master, pour le faire il suffit de se rediriger vers la PR et cliquer sur le buton Merge pull request.
naming branch convention :
| Branch | Description | Exemple |
|---|---|---|
| test- | un changement lié au tests | test-loginDg |
| fix- | un fix ou une maintenance de tests | fix-creationContrat |
| conf- | un changement lié à la configuration ou à l'environnement | conf-updateCodeceptJsVersion |
Aucun code ne doit être mergé directement dans master : ne jamais executer cette commande "git push origin master"
Versionning et Tags : A définir selon la stratrégie du test
//TODO structure des fichier et dossier, page object, ide