IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python3.9 problèmes de fixture [Python 3.X]


Sujet :

Python

  1. #1
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut Python3.9 problèmes de fixture
    Bonjour à tous,

    Je suis nouveau sur python et je suis un peu perdu.

    J'essaye d'apprendre grâce au site suivant: https://testautomationu.applitools.c.../chapter3.html

    L'auteur de la vidéo met à disposition le code suivant depuis git (le lien est également disponible sur le site) test_cucumbers_steps.py

    Le code est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
     
    from pytest import *
    from pytest_bdd import scenario, given, when, then
     
    from cucumbers import CucumberBasket
     
     
    @scenario('../features/cucumbers.feature', 'Add cucumbers to a basket')
    def test_add():
        pass
     
     
    @given("the basket has 2 cucumbers")
    def basket():
        return CucumberBasket(initial_count=2)
     
     
    @when("4 cucumbers are added to the basket")
    def add_cucumbers(basket):
        basket.add(4)
     
     
    @then("the basket contains 6 cucumbers")
    def basket_has_total(basket):
        assert basket.count == 6
    Cela fonctionne parfaitement pour l'auteur de la vidéo mais pas pour moi. J'ai un message d'erreur sur la fixture basket que je ne comprends pas.

    Pouvez-vous me dire où est mon erreur ?

    Merci

    Hadrien

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Citation Envoyé par had4789 Voir le message
    Pouvez-vous me dire où est mon erreur?
    Ce ne sont pas des fonctionnalités de base du langage.

    Ce qui veut dire que çà peut fonctionner pour une version donnée de Python mais si ce n'est pas stable, de petits changements dans une version suivante obligent à se mettre à jour.

    Donc déjà, il faut trouver la version de Python correspondante et vérifier si çà fonctionne dans cette version là... Et si c'est le cas, se palucher les releases notes.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Bonjour,

    Merci pour ta réponse.

    Cela est valable pour toutes les fonctionnalités de Python, ?

    Cela veut-il dire que ce qui fonction un jour peut ne plus fonctionné le lendemain ?

    Merci

    Hadrien

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Cela est valable pour toutes les fonctionnalités de Python, ?

    C'est valable pour tout langage et bibliothèque.

    On code pour une version X et si on change de version on fait des tests de non-regression pour s'assurer que çà fonctionne pareil qu'avec l'ancienne version.

    C'est pour cela qu'il y a releases notes et des beta tests.

    Et si la montée de version plante l'application, les causes peuvent être variées:
    - c'est documenté,
    - la fonctionnalité a été utilisée de travers et un petit changement le met en évidence
    - c'est un "bug" i.e. l'effet de bord d'un changement (non documenté donc).

    Dans votre cas vous avez d'autres soucis: est-ce que vous utilisez ce code "normalement", est ce que vous n'avez pas oublié d'en recopier des bouts?

    Peut être que quelques exemples du tuto n'ont jamais été testés ou que le bug est connu par l'auteur mais qu'il n'a pas eu le temps de corriger.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Bonjour,

    Merci pour ces informations.

    J'utilise git pour copier le code, je ne peux donc pas en oublier.

    Les tutos sont exécutés dans la vidéo et fonctionnent.

    Je viens de lancer l'exécution avec la même version de Python que dans la vidéo et cela ne fonctionne toujours pas, le problème ne vient donc pas de la version.

    Cordialement
    Hadrien

  6. #6
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Ce que je ne comprends pas c'est que le fichier cucumbers.feature semble ne pas reconnaitre ce qu'il y a dans le fichier test_cucumbers_steps.py.

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Ce que je ne comprends pas c'est que le fichier cucumbers.feature semble ne pas reconnaitre ce qu'il y a dans le fichier test_cucumbers_steps.py.
    Ce que je ne comprends pas c'est qu'après avoir vérifié la version de Python, vous ne vous posez pas la même question sur les bibliothèques utilisées.

    Si votre tuto. a été écrit il y a 2 ans, PyPI montre que c'était une version 2 de pytest-bdd et que depuis ils ont sortis 2 versions majeures et un nombre monstrueux de versions mineures.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Si je comprends bien ce que vous me dîtes, il n'y a aucune solution à mon problème et le plus simple est d'abandonner tout de suite ce projet ?

  9. #9
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Si je comprends bien ce que vous me dîtes, il n'y a aucune solution à mon problème et le plus simple est d'abandonner tout de suite ce projet ?
    En suivant les instructions du README sur la page Github ça fonctionne sans problème

    Nom : pytest.png
Affichages : 120
Taille : 17,1 Ko

  10. #10
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Ocornet, merci pour cette information mais du coup je comprends encore moins pourquoi cela ne fonctionne pas chez moi.

    Tu es sur mac ou sur windows ?

  11. #11
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Autre chose, cela peut fonctionner en ligne de commande mais pas avec un IDE et c'est là tout mon problème.

    En fait vous pouvez avoir l'impression que cela fonctionne alors qu'en fait ce n'est pas le cas.

  12. #12
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par had4789 Voir le message
    il n'y a aucune solution à mon problème et le plus simple est d'abandonner tout de suite ce projet ?
    Si votre projet est d'apprendre à utiliser pytest-bdd, vous pourriez essayer de le faire en regardant la documentation de la version que vous avez installé.

    Elle contient des exemples qui, à priori, fonctionnent avec cette version là.

    Si le projet est de faire fonctionner les exemples du tuto. il faut déjà trouver pour quelle version de pytest-bdd ils ont été écrits, tester, essayer de comprendre pourquoi çà ne marche plus.

    Et comme vous allez utiliser une version récente pas sûr que çà vous aide.

    C'est un gros soucis avec les tutos: ils sont écrits one shot avec des exemples qui fonctionnent avec une version donnée (et pas toujours précisée) mais ils ne sont pas toujours mis à jour.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    C'est justement parce que je ne comprends rien à la documentation que j'ai essayé avec un tuto.

    Avez-vous une meilleur solution pour faire du bdd avec Python ?

  14. #14
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Avez-vous une meilleur solution pour faire du bdd avec Python ?
    Si vous développez des applications avec Python, écrire un plan de test et des suites de tests est quelque chose qu'on fera que pour des applications qui le méritent (c'est 50% de boulot en plus).

    La bibliothèque standard (unittest) suffira à la plupart des besoins.

    Après si vous voulez vous lancer dans des trucs innovant comme le BDD, déjà vous n'avez pas que pytest-bdd qui le fait.

    Il faut commencer par une revue de l'état de l'art, des comparaisons de la maturité de chaque solution, de la réactivité des développeurs, du nombre d'utilisateurs qui l'ont adopté,... (et éventuellement de l'existence de tutos et de documentations utilisables).

    Vous devez vous forger votre propre opinion en fonction de vos besoins et de votre feeling... Ou attendre que des utilisateurs fan du BDD tartemolle passent vous en faire l'éloge pour choisir tartemolle.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #15
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Oui, je souhaite faire du BDD mais je ne peux perdre mille ans à choisir une solution.

    C'est pour cela que j'ai choisit pytest-bdd qui semble être la plus utilisée.

    Avez-vous essayer de faire fonctionner le code sur votre machine ?

    Avez-vous déjà eu des difficultés à faire "communiquer' votre fichier Feature avec celui où vont steps sont définis ?

  16. #16
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Ocornet, merci pour cette information mais du coup je comprends encore moins pourquoi cela ne fonctionne pas chez moi.

    Tu es sur mac ou sur windows ?
    Je suis sur Windows, mais ça n'a à priori pas d'importance.

    Citation Envoyé par had4789 Voir le message
    Autre chose, cela peut fonctionner en ligne de commande mais pas avec un IDE et c'est là tout mon problème.

    En fait vous pouvez avoir l'impression que cela fonctionne alors qu'en fait ce n'est pas le cas.
    Je ne vois pas pourquoi ça fonctionnerait en ligne de commande et pas avec un IDE.
    Si l'environnement de Python est bien géré ça ne doit pas poser de problème.
    Je travaille systématiquement avec des environnements virtuels, ce qui me permet d'avoir des environnements Python adaptés à chaque développement que je fais.
    C'est si simple, pourquoi s'en priver.
    Ca évite d'avoir un seul environnement Python avec toutes les librairies dedans, ce qui peut devenir problématique si on doit utiliser des versions différentes de librairies.
    Ca fonctionnera sans problème avec un IDE à condition qu'on puisse spécifier à l'IDE avec quelle version de Python ou quel environnement virtuel travailler, ce qui est le cas de PyCharm pour ne citer que lui.

    Citation Envoyé par wiztricks Voir le message
    Si le projet est de faire fonctionner les exemples du tuto. il faut déjà trouver pour quelle version de pytest-bdd ils ont été écrits, tester, essayer de comprendre pourquoi çà ne marche plus.
    - W
    Dans le cas présent, trouver quelles versions n'est pas nécessaire, les fichiers mis à disposition sur Github pour le tuto contiennent ce qu'il faut pour avoir la bonne version avec l'utilisation de pyenv.
    En faisant un 'pyenv install' dans le répertoire ça va installer les bonnes versions qui sont définies dans le fichier Pipfile.lock

  17. #17
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Ocornet,

    Si c'était aussi simple je ne serais pas là ...


    Pouvez-vous me confirmer que vous avais fait:
    -pip install pipenv
    -pypenv pytest
    -pipenv pytest-bdd
    -pipenv run python -m pytest


    Merci

    Hadrien

  18. #18
    Membre expérimenté
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Par défaut
    Pouvez-vous me confirmer que quand vous ouvrez le projet dans votre IDE, vous n'avez pas de problème de fixture dans le fichier test_cucumbers_steps_py ?

  19. #19
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Ocornet,

    Si c'était aussi simple je ne serais pas là ...


    Pouvez-vous me confirmer que vous avais fait:
    -pip install pipenv
    -pypenv pytest
    -pipenv pytest-bdd
    -pipenv run python -m pytest


    Merci

    Hadrien
    Je suis parti d'un environnement virtuel Python 3.7 vierge et puis j'ai :

    • installé pipenv avec "pip install pipenv"
    • installé les librairies nécessaire avec "pipenv install" en étant dans le répertoire du tuto fraichement cloné depuis Github, pipenv utilisant le fichier Pipfile.lock
    • copié le WebDriver (Chrome ou Geeko) dans un répertoire accessible de partout (défini dans PATH)
    • lancé le script avec "python -m pytest"


    That's it

  20. #20
    Membre confirmé
    Homme Profil pro
    Responsable plancher d'essais et test final
    Inscrit en
    Octobre 2016
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable plancher d'essais et test final
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Octobre 2016
    Messages : 29
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Pouvez-vous me confirmer que quand vous ouvrez le projet dans votre IDE, vous n'avez pas de problème de fixture dans le fichier test_cucumbers_steps_py ?
    Si tu disais déjà quel IDE tu utilises ?
    Et utilises-tu un environnement virtuel ?

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [2.x] Problème de fixtures
    Par eldorne dans le forum Symfony
    Réponses: 1
    Dernier message: 21/05/2014, 09h28
  2. problème http.client et urllib.parse avec python3.3
    Par python-learn dans le forum Réseau/Web
    Réponses: 0
    Dernier message: 24/09/2013, 22h09
  3. [2.x] problème d'installation des fixtures
    Par payong dans le forum Symfony
    Réponses: 4
    Dernier message: 08/06/2012, 16h21
  4. [1.x] Problème d'encoding : fixtures.yml, generator.yml voire autres
    Par bilbonec dans le forum Symfony
    Réponses: 8
    Dernier message: 20/09/2010, 09h31
  5. [1.x] Problème data-load fixture
    Par julienmarliac.net dans le forum Symfony
    Réponses: 16
    Dernier message: 07/08/2010, 00h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo