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 :

Sélénium Test IHM KO avec headless


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mars 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mars 2021
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Sélénium Test IHM KO avec headless
    Bonjour à tous,

    Voici mon problème :
    Je fais un test IHM via chrome qui fonctionne correctement.
    Cependant, j'ai voulu masquer la page chrome pendant l’exécution du code via un headless :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    options = webdriver.ChromeOptions()
    options.add_argument('--headless')
    driver = webdriver.Chrome('d:\\chromedriver\chromedriver.exe', chrome_options=options)
    print ("Test IHM en cours")
    Lorsque je rajoute l'argument "headless", les éléments du menu ci - dessous ne sont pas visibles et le code se termine en "...menu indisponible".
    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
    try:
        #déroule le menu editique
        time.sleep(4) # seconds
        link_menu = "centreIconePuceLateral"
        my_link = driver.find_element_by_class_name(link_menu)
        my_link.click()
        time.sleep(1) # seconds
        link_editique = "T_iconeEDC"
        my_link = driver.find_element_by_id(link_editique)
        my_link.click()
        time.sleep(1) # seconds
        link_editique2 = "T_iconeAEDCPOE001"
        my_link = driver.find_element_by_id(link_editique2)
        my_link.click()
        time.sleep(1) # seconds
    except:
        driver.close()
        driver.quit()
        utils.print_log("Test IHM terminé en erreur - Menu indisponible")
        print ("Test IHM terminé en erreur - Menu indisponible")
        buffer_out = ("Connexion Menu BRC KO")
        utils.print_out(buffer_out)
        sys.exit()

    Ai - je loupé quelque chose ?

    Je vous remercie pour votre aide.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,
    Citation Envoyé par fabchane Voir le message
    Ai - je loupé quelque chose ?
    Oui, tu oublies de printer le message d'erreur lui-même.

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mars 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mars 2021
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Je ne suis pas sur de comprendre ta réponse VinsS.

    Ce n'est pas un message d'erreur à proprement parlé.

    Lorsque je rajoute le "headless", je rentre dans l'except et le message est "Test IHM terminé en erreur - Menu indisponible".

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Change ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    except Exception as why:
        print("Driver error: %s" % why)
    Après, connaissant le type d'erreurs possible tu pourras préciser leur nom et adopter un plan B adéquat.

  5. #5
    Candidat au Club
    Homme Profil pro
    Consultant fonctionnel
    Inscrit en
    Mars 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant fonctionnel

    Informations forums :
    Inscription : Mars 2021
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Merci VinsS pour l'astuce, je n'ai pas encore tous les bons réflexes.

    Voici donc le message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Driver error: Message: no such element: Unable to locate element: {"method":"css selector","selector":"[id="T_iconeEDC"]"}
    Voila ce qu'il ne trouve pas :

    Nom : menu editique.JPG
Affichages : 55
Taille : 21,4 Ko


    Lorsque le "headless" est en place, il ne trouve pas l'id.
    Je pensais que le headless ne faisait que cacher la page mais je viens de lire que chrome pouvait attribuer un autre ID en mode headless.

    Comment retrouver cet ID en mode headless ?

Discussions similaires

  1. [UISpec4J] Tests IHM avec UISpec4J
    Par merwycherry dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 16/09/2008, 09h05
  2. Tests des applications avec IHM
    Par jmgroud dans le forum Tests et Performance
    Réponses: 2
    Dernier message: 25/10/2007, 23h45
  3. Outil de test IHM sous Linux avec Application JAVA et AWT
    Par mmayniel dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 18/01/2007, 16h29
  4. Test PostgreSQL v8 avec NAMEDATALEN = 128 caracteres
    Par hondjack dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/10/2004, 00h32
  5. Test d'éxistence avec un RecordSet
    Par matt63 dans le forum Langage SQL
    Réponses: 10
    Dernier message: 21/04/2004, 12h23

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