Comment mettre un projet de tests automatisés en python sur AZURE DEVOPS ?

Test automation Azure Devops Python
Par Salim MEKNI il y a 2 ans 8 minutes

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é.

image

Apres validation nous avons le projet qui s’affiche avec le type de visibilité choisie

image

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

image

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

image

Pour pouvoir utiliser le référentiel il faut le cloner en local, en cliquant sur Repos puis sur cloner

image

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

image

Plusieurs sources sont proposées

image

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

image

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

image

Nous allons choisir un tempalte pour un package python

image

On clique sur appliquer, le configurateur du template s’affiche

image

Si nous souhaitons exécuter nos tests uniquement avec la version de python installé : 3.9.1

image

On doit modifier la version ans l’onglet Variables

image

Et on modifie la version dans python.version en 3.9

image

Ainsi le configurateur va lancer les tests uniquement sur la version spécifiée

image

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

image

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

image

Le résultat du job s’affiche

image

On peut voir le résultat du run en sélectionnant le Pipeline et le build généré

image

Il est aussi possible de visualiser le résultat des tests exécutés sous Test plans puis Runs

image