Lorsqu’on évoque le sujet d’automatisation des tests avec des langages tel que Java, Python on pense souvent à des outils open source tel que Jenkins et GIT.
Cependant dans le monde professionnel de plus en plus de boites utilisent des outils packagés pour mieux gérer leurs projets et garantir un maximum de polyvalence dans leurs effectifs.
Il est donc tout à fait possible de combiner des projets de test automatique en Java, Python ou autre langage avec Azure Devops qui est une forge logicielle éditée par Microsoft.
Dans ce tutorial nous allons voir comment créer un projet sur Azure Devops, comment mettre un code en python dans un référentiel Azure et comment créer une Pipleine Azure pour exécuter le code automatiquement.
Création de projet sur Azure Devops
Une fois connecté sur Azure Devops il faut crée un projet en cliquant sur nouveau projet puis renseigner le nom du projet et le type de visibilité publique ou privé.
Apres validation nous avons le projet qui s’affiche avec le type de visibilité choisie
Création nouveau référentiel git dans votre projet
On accède à la page de Repos de notre projet puis Dans la liste déroulante référentiel, on sélectionne nouveau référentiel
Dans la boîte de dialogue créer un référentiel, vérifiez que git est le type référentiel et entrez un nom pour votre nouveau référentiel puis cliquez sur créer. Un nouveau référentiel git vide est maintenant créé dans votre projet
Pour pouvoir utiliser le référentiel il faut le cloner en local, en cliquant sur Repos puis sur cloner
Ouvrez la fenêtre de commande git bash sur git dans le dossier où vous souhaitez que le code du référentiel soit stocké sur votre ordinateur. Exécutez git clone suivi du chemin d’accès copié à partir de l’url de clonage :
git clone https://dev.azure.com/DemoProjetAzure/_git/
Ensuite il reste qu’à faire un git commit et un git push pour pousser vos modifications jusqu’au référentiel git
Création d’un Pipeline sur Azure Devops
Une fois le code poussé dans le Repos aller sur Pipeline et cliquer sur créer un pipeline
Plusieurs sources sont proposées
Il est donc tout à fait possible de récupérer le code a partir du référentiel Azure ou de GitHub, Bitbucket ou autre … Dans notre cas nous allons utiliser Azure Repos Git
Puis nous sélectionnons le Repos et la branche sous lesquels nous avons poussé notre code, dans notre cas c’est le référentiel DemoProjectAzure et la branche main
Pour un code développé en python
Nous allons choisir un tempalte pour un package python
On clique sur appliquer, le configurateur du template s’affiche
Si nous souhaitons exécuter nos tests uniquement avec la version de python installé : 3.9.1
On doit modifier la version ans l’onglet Variables
Et on modifie la version dans python.version en 3.9
Ainsi le configurateur va lancer les tests uniquement sur la version spécifiée
Aller sur le task Install dependencies task et insérer la ligne de commande :
cd DemoProjectAzure/TestApi pour indiquer le chemin du fichier requirements python -m pip install --upgrade pip && pip install -r requirements.txt
Pour installer les package du fichier requirements
Puis dans le task pytest insérer la ligne de commande :
pip install pytest && pytest --doctest-modules --junitxml=junit/test-results.xml
Si pytest est déjà installé à partir du fichier requirements
pytest --doctest-modules --junitxml=junit/test-results.xml
Supprimer la partie Publish et cliquer sur le bouton Save and queue le pipeline se lance
Le résultat du job s’affiche
On peut voir le résultat du run en sélectionnant le Pipeline et le build généré
Il est aussi possible de visualiser le résultat des tests exécutés sous Test plans puis Runs