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

Symfony PHP Discussion :

Test fonctionnel, j'arrive pas à attraper mon button [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut Test fonctionnel, j'arrive pas à attraper mon button
    Bonjour,

    Je me mets aux tests, et j'essaie d'attraper mon lien d'édition qui se présente comme suit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <a href="/app_dev.php/enfant/5/edit" alt="edit_enfant">
    <button type="button" class="btn btn-primary">
    <i class="glyphicon glyphicon-pencil"></i> Editer l'enfant</button></a>
    Ce n'est pas un bouton dans un form !

    J'essaie en ajoutant des alt des id et autres sur le href ou le button mais je n'arrive pas à le choper
    En lisant la doc, le selectlink prend le texte entre le <a> et </a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $crawler->selectLink('edit_enfant');
    Ca me renvoie

    InvalidArgumentException: The current node list is empty.

    Merci pour votre aide

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Hello,

    Un bouton n'a rien à faire à l'intérieur d'une balise <a>.
    Par contre rien ne t'empêche de donner à ta balise <a> les classes "btn btn-primary" pour qu'ils aient exactement la même tronche qu'un bouton.

    Ca pourrait par la suite simplifier tes tests.
    Je ne suis pas expert en HTML mais il me semble qu'un bouton (que ce soit un <input> ou un <button>) ne devrait pas se trouver en dehors d'un formulaire.
    C'est pour ça que ton outil de test n'arrive pas à le catcher.

    Remplace ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href="/app_dev.php/enfant/5/edit" alt="edit_enfant">
    <button type="button" class="btn btn-primary">
    <i class="glyphicon glyphicon-pencil"></i> Editer l'enfant</button></a>
    par ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="btn btn-primary" href="/app_dev.php/enfant/5/edit" alt="edit_enfant"><i class="glyphicon glyphicon-pencil"></i> Editer l'enfant</a>
    et ton test devrait te récupérer le contenu de ta balise <a> cette fois-ci.

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    Oui tu as raison, j'utilise twitterbootstrap et en relisant la doc j'ai corrigé le html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a alt="edit_enfant" href="{{ path('enfant_edit', { 'slugname': entity.slugname }) }}" class="btn btn-primary" role="button"><i class="glyphicon glyphicon-pencil"></i> Editer l'enfant</a>
    Mais j'ai beau essayer ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $crawler = $client->click($crawler->selectLink('<i class="glyphicon glyphicon-pencil"></i> Editer l\'enfant')->link());
    Le lien n'est tjs pas attrapé
    Ca me semble bizare de devoir donner à selectLink le texte entre les <a>
    Il n'y a pas moyen de lui donnée un ID ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Juin 2011
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2011
    Messages : 725
    Points : 1 050
    Points
    1 050
    Par défaut
    Bonjour,

    En lisant la doc, le selectlink prend le texte entre le <a> et </a>
    le texte ne devrait pas comprendre les balises html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $crawler = $client->click($crawler->selectLink('Editer l\'enfant')->link());
    Sinon peut être un problème due à l'apostrophe de l\'enfant ?


    Il n'y a pas moyen de lui donnée un ID ?
    Il existe une méthode filter($cssSelector):
    http://api.symfony.com/2.0/Symfony/C...#method_filter

  5. #5
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Citation Envoyé par jfsenechal Voir le message
    Le lien n'est tjs pas attrapé
    Ca me semble bizare de devoir donner à selectLink le texte entre les <a>
    Il n'y a pas moyen de lui donnée un ID ?
    Je ne sais pas avec quel outil tu fais tes tests donc je ne sais pas ce que la méthode $crawler->selectLink() attend en paramètre, mais je doute que ce soit le contenu de la balise.
    Il semblerait plus logique effectivement de lui donner l'ID de la balise ... que tu n'as pas déclaré.

  6. #6
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Février 2003
    Messages : 307
    Points : 378
    Points
    378
    Par défaut
    En effet arnooo999 il ne faut pas mettre les balises html juste le texte et ça marche

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. N'arrive pas à compiler mon fichier
    Par Séb@s dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 23/11/2006, 20h19
  2. j'arrive pas à coloré mon string grid
    Par redouane71 dans le forum Delphi
    Réponses: 5
    Dernier message: 24/08/2006, 15h30
  3. Je n'arrive pas à acceder à mon fichier c'est La cata
    Par polianita dans le forum Access
    Réponses: 13
    Dernier message: 17/08/2006, 14h44
  4. [hibernate][test unitaire]j'arrive pas à inserer ce que je veux
    Par mehdi_swatch dans le forum Hibernate
    Réponses: 1
    Dernier message: 02/06/2006, 16h31
  5. Je n'arrive pas à terminer mon formulaire en PHP
    Par snakejl dans le forum Langage
    Réponses: 12
    Dernier message: 10/05/2006, 22h35

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