Test Selenium
Résolu/Fermé
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
-
14 août 2013 à 13:56
DalilaSel Messages postés 1 Date d'inscription mardi 15 septembre 2015 Statut Membre Dernière intervention 22 décembre 2015 - 22 déc. 2015 à 11:59
DalilaSel Messages postés 1 Date d'inscription mardi 15 septembre 2015 Statut Membre Dernière intervention 22 décembre 2015 - 22 déc. 2015 à 11:59
A voir également:
- Test Selenium
- Test performance pc - Guide
- Test composant pc - Guide
- Redmi note 13 5g test - Accueil - Téléphones
- Test performance pc gratuit - Accueil - Utilitaires
- Test hdd - Télécharger - Informations & Diagnostic
9 réponses
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié par [Dal] le 14/08/2013 à 19:46
Modifié par [Dal] le 14/08/2013 à 19:46
Salut Lemsa,
Tu ne dis pas comment l'upload est géré par ta page, vis à vis du navigateur. Si c'est un formulaire, une applet java, un contrôle,...
Si c'est un formulaire, tu peux envoyer le chemin local de ton fichier au formulaire et valider le formulaire.
Evite de devoir cliquer sur le bouton "browse", car ton problème sera alors que, selon ton navigateur, des fenêtre créées par le navigateur pour permettre la sélection, ne pourront pas être contrôlées par javascript car le navigateur en passe le contrôle à l'application lancée par le système d'exploitation.
Si tu es forcé de passer par une telle intéraction ou que l'envoi du chemin du fichier ne se fait pas par un formulaire, tu va être forcé de contourner le problème. Personnellement, sous Windows, j'utilise un script AutoIT (compilé en exécutable) en conjonction avec Selenium pour automatiser ce genre de choses : l'application Selenium lance l'application AutoIT, génère les clics et manipulations sur les dialogues qui vont bien, retourne un code d'exécution à Selenium permettant de savoir que AutoIt a fait ce qu'il avait à faire et Selenium reprend son cours.
Pour le téléchargement (download), s'il est démarré par un click pilotable par javascript, tu peux éventuellement paramétrer le navigateur avec lequel les tests sont lancés pour : prédéterminer l'emplacement de téléchargement qui te convient, télécharger sans demander quoi que ce soit à l'utilisateur et fermer (ou ne pas ouvrir du tout) toute fenêtre de statut du téléchargement. Ton application Selenium devra alors scanner le contenu du répertoire à l'affut du nouveau fichier et tu devras déterminer un moyen de savoir si le téléchargement est achevé ou pas pour le navigateur.
Ces paramétrages sont possibles par exemple avec Firefox, et en ce qui concerne la fin du téléchargement, tu vérifies la présence d'un fichier temporaire (avec les versions actuelles de Firefox si un fichier ".part" existe, c'est que le téléchargement est toujours en cours).
Si tu tiens à maîtriser, à chaque test, l'endroit où doit être sauvegardé le fichier téléchargé, il te faudra passer par une solution de type AutoIT te permettant de piloter les fenêtres et dialogues de l'application.
Voilà, c'est en tout cas comme cela que je fais, sous Windows, avec Firefox, Selenium Webdriver et Java.
Le mieux c'est d'éviter autant que possible dans le cadre de tes tests d'avoir à intéragir avec des fenêtres modales générées par le navigateur qui ne sont pas pilotables avec javascript.
Dal
Tu ne dis pas comment l'upload est géré par ta page, vis à vis du navigateur. Si c'est un formulaire, une applet java, un contrôle,...
Si c'est un formulaire, tu peux envoyer le chemin local de ton fichier au formulaire et valider le formulaire.
Evite de devoir cliquer sur le bouton "browse", car ton problème sera alors que, selon ton navigateur, des fenêtre créées par le navigateur pour permettre la sélection, ne pourront pas être contrôlées par javascript car le navigateur en passe le contrôle à l'application lancée par le système d'exploitation.
Si tu es forcé de passer par une telle intéraction ou que l'envoi du chemin du fichier ne se fait pas par un formulaire, tu va être forcé de contourner le problème. Personnellement, sous Windows, j'utilise un script AutoIT (compilé en exécutable) en conjonction avec Selenium pour automatiser ce genre de choses : l'application Selenium lance l'application AutoIT, génère les clics et manipulations sur les dialogues qui vont bien, retourne un code d'exécution à Selenium permettant de savoir que AutoIt a fait ce qu'il avait à faire et Selenium reprend son cours.
Pour le téléchargement (download), s'il est démarré par un click pilotable par javascript, tu peux éventuellement paramétrer le navigateur avec lequel les tests sont lancés pour : prédéterminer l'emplacement de téléchargement qui te convient, télécharger sans demander quoi que ce soit à l'utilisateur et fermer (ou ne pas ouvrir du tout) toute fenêtre de statut du téléchargement. Ton application Selenium devra alors scanner le contenu du répertoire à l'affut du nouveau fichier et tu devras déterminer un moyen de savoir si le téléchargement est achevé ou pas pour le navigateur.
Ces paramétrages sont possibles par exemple avec Firefox, et en ce qui concerne la fin du téléchargement, tu vérifies la présence d'un fichier temporaire (avec les versions actuelles de Firefox si un fichier ".part" existe, c'est que le téléchargement est toujours en cours).
Si tu tiens à maîtriser, à chaque test, l'endroit où doit être sauvegardé le fichier téléchargé, il te faudra passer par une solution de type AutoIT te permettant de piloter les fenêtres et dialogues de l'application.
Voilà, c'est en tout cas comme cela que je fais, sous Windows, avec Firefox, Selenium Webdriver et Java.
Le mieux c'est d'éviter autant que possible dans le cadre de tes tests d'avoir à intéragir avec des fenêtres modales générées par le navigateur qui ne sont pas pilotables avec javascript.
Dal
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
14 août 2013 à 13:57
14 août 2013 à 13:57
grâce à l'outile selenium
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
16 août 2013 à 11:50
16 août 2013 à 11:50
Salut Dal,
Je vois que u as une connaissance pointue dans le domaine, ce qui n'est pas mon cas... Je suis vraiment novice, il faudra me parler terre à terre.
Je suis en stage en ce moment et l''objectif consiste à tester le bon fonctionnement d'une appli web avec Selenium avec Eclipse comme je l'ai dit tantôt. Voici le scénario de test :
1. Se connecter via le login et le mdp
2. Entrer l'adresse locale du fichier à uploader
3. Cliquer sur le bouton valider
4. Vérifier le message indiquant le bon déroulement.
Je voudrais que tu me proposes un bout de code stp qui me permette de faire cela. Je bloque depuis 2 semaines, je ne trouve pas des tutos qui répondent à mon cahier des charges.
Merci d'avance de ton aide.
Je vois que u as une connaissance pointue dans le domaine, ce qui n'est pas mon cas... Je suis vraiment novice, il faudra me parler terre à terre.
Je suis en stage en ce moment et l''objectif consiste à tester le bon fonctionnement d'une appli web avec Selenium avec Eclipse comme je l'ai dit tantôt. Voici le scénario de test :
1. Se connecter via le login et le mdp
2. Entrer l'adresse locale du fichier à uploader
3. Cliquer sur le bouton valider
4. Vérifier le message indiquant le bon déroulement.
Je voudrais que tu me proposes un bout de code stp qui me permette de faire cela. Je bloque depuis 2 semaines, je ne trouve pas des tutos qui répondent à mon cahier des charges.
Merci d'avance de ton aide.
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié par [Dal] le 16/08/2013 à 18:56
Modifié par [Dal] le 16/08/2013 à 18:56
Arrives-tu à faire fonctionner le programme de test "Google Cheese" ?
i.e., le programme de base de la documentation : https://www.selenium.dev/documentation/#introducing-the-selenium-webdriver-api-by-example
Dal
i.e., le programme de base de la documentation : https://www.selenium.dev/documentation/#introducing-the-selenium-webdriver-api-by-example
Dal
DalilaSel
Messages postés
1
Date d'inscription
mardi 15 septembre 2015
Statut
Membre
Dernière intervention
22 décembre 2015
22 déc. 2015 à 11:59
22 déc. 2015 à 11:59
Bonjour, je vous remercie de commenter votre façon de décoller parce que je n arrive pas a le faire? je veux tester un upload/ownload avec selenium ide ?
de l'aide s'il vous plait
de l'aide s'il vous plait
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
19 août 2013 à 11:33
19 août 2013 à 11:33
Salut Dal,
J'ai enfin décollé ! Je te remercie énormément, c'est vraiment grâce à toi.
Je vais être relou, j'ai toujours un problème que je n'arrive pas à résoudre. Au fait je dois comparer le fichier uploadé au fichier downloadé pour m'assurer que c'est le même.
A l'heure actuelle, je n'ai aucune idée de comment procéder pour comparer 2 fichiers.
Aurais-tu une idée stp ?
Cdlt,
Lemsa
J'ai enfin décollé ! Je te remercie énormément, c'est vraiment grâce à toi.
Je vais être relou, j'ai toujours un problème que je n'arrive pas à résoudre. Au fait je dois comparer le fichier uploadé au fichier downloadé pour m'assurer que c'est le même.
A l'heure actuelle, je n'ai aucune idée de comment procéder pour comparer 2 fichiers.
Aurais-tu une idée stp ?
Cdlt,
Lemsa
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
19 août 2013 à 14:46
19 août 2013 à 14:46
Pour comparer deux fichiers, tu peux utiliser la classe FileUtils dans Apache commons IO, qui comporte la méthode contentEquals().
http://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/FileUtils.html#contentEquals(java.io.File,%20java.io.File)
Voilà un exemple : http://www.codetreat.com/compare-two-files-for-content-equality-with-apache-commons-io-fileutils/
Dal
http://commons.apache.org/proper/commons-io/javadocs/api-release/org/apache/commons/io/FileUtils.html#contentEquals(java.io.File,%20java.io.File)
Voilà un exemple : http://www.codetreat.com/compare-two-files-for-content-equality-with-apache-commons-io-fileutils/
Dal
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
26 août 2013 à 18:01
26 août 2013 à 18:01
Salut Dal,
Lorsque j'essaie de tester l'égalité entre 2 fichiers, il a du mal avec la classe FileUtils. En effet, il n'arrive pas à retrouver le package org.apache.commons.io.FileUtils;
Quand je fais Fix project setup, il importe une librairie dans les propriétés du projet, mais le programme n'arrive pas à comparer 2 fichiers. Il me dit systématiquement qu'ils sont égaux, alors que ce n'est pas le cas.
Que faut-il faire ?
Merci d'avance
Lorsque j'essaie de tester l'égalité entre 2 fichiers, il a du mal avec la classe FileUtils. En effet, il n'arrive pas à retrouver le package org.apache.commons.io.FileUtils;
Quand je fais Fix project setup, il importe une librairie dans les propriétés du projet, mais le programme n'arrive pas à comparer 2 fichiers. Il me dit systématiquement qu'ils sont égaux, alors que ce n'est pas le cas.
Que faut-il faire ?
Merci d'avance
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
27 août 2013 à 10:16
27 août 2013 à 10:16
hmm, c'est bizarre,
Alternativement, tu pourrais calculer une somme md5 ou sha de chaque fichier, et vérifier que la somme est la même, en utilisant java.security.MessageDigest
Tu as un exemple là, dans le premier code snippet, qui te propose une classe convertissant le hash sous forme de String, que tu pourras facilement comparer :
https://www.rgagnon.com/javadetails/java-0416.html
Dal
Alternativement, tu pourrais calculer une somme md5 ou sha de chaque fichier, et vérifier que la somme est la même, en utilisant java.security.MessageDigest
Tu as un exemple là, dans le premier code snippet, qui te propose une classe convertissant le hash sous forme de String, que tu pourras facilement comparer :
https://www.rgagnon.com/javadetails/java-0416.html
Dal
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
20 août 2013 à 13:59
20 août 2013 à 13:59
Super ça marche ! Merci beaucoup Dal !
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
20 août 2013 à 14:07
20 août 2013 à 14:07
De rien, c'est cool :-)
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
31 août 2013 à 19:39
31 août 2013 à 19:39
Merci bien Dal pour le temps que tu consacres à me répondre. c'est vraiment trop gentil merci !
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
5 sept. 2013 à 15:36
5 sept. 2013 à 15:36
Pour comparer 2 fichiers de manière très simple :
import java.io;
public class CompareFiles{
public static void main(String[] args){
File f1 = new File("C:\\fichier1.txt);
File f2 = new File("C:\\fichier2.txt);
boolean compare1and2 = FileUtils.contentEquals(f1,f2);
System.out.println("les fichiers sont ils egaux ?" +compare1and2);
}
}
import java.io;
public class CompareFiles{
public static void main(String[] args){
File f1 = new File("C:\\fichier1.txt);
File f2 = new File("C:\\fichier2.txt);
boolean compare1and2 = FileUtils.contentEquals(f1,f2);
System.out.println("les fichiers sont ils egaux ?" +compare1and2);
}
}
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
5 sept. 2013 à 18:54
5 sept. 2013 à 18:54
oui, mais cela c'est avec Apache commons IO FileUtils, non ?
cf. https://forums.commentcamarche.net/forum/affich-28497818-test-selenium#6
cf. https://forums.commentcamarche.net/forum/affich-28497818-test-selenium#6
Lemsa
Messages postés
13
Date d'inscription
vendredi 2 août 2013
Statut
Membre
Dernière intervention
9 décembre 2013
3
6 sept. 2013 à 11:05
6 sept. 2013 à 11:05
Oui c'est bien cela ! L'IHM que je teste propose une fonctionnalité de téléchargement de fichier de type "txt". Lorsque je lance le test automatiquement avec selenium, il n'arrive pas à télécharger le fichier tout seul. J'ai fait des recherches, il y a des gens qui ont heurté le même mur que moi et qui ont parlé de certains outils tels que Wget et AutoIT (qui sont très peu développés sur le web)
Aurais tu une idée, si cela est possible ou pas ?
Cordialement
Lemsa
Aurais tu une idée, si cela est possible ou pas ?
Cordialement
Lemsa
Bonjour Lemsa,
J'ai eu le même problème que tu as rencontré:
"L'IHM que je teste propose une fonctionnalité de téléchargement de fichier de type "txt". Lorsque je lance le test automatiquement avec selenium, il n'arrive pas à télécharger le fichier tout seul. "
Est ce que tu as trouvé une solution et si oui est ce que tu peut m'aider?
Cordialement
J'ai eu le même problème que tu as rencontré:
"L'IHM que je teste propose une fonctionnalité de téléchargement de fichier de type "txt". Lorsque je lance le test automatiquement avec selenium, il n'arrive pas à télécharger le fichier tout seul. "
Est ce que tu as trouvé une solution et si oui est ce que tu peut m'aider?
Cordialement
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
7 févr. 2014 à 14:17
7 févr. 2014 à 14:17
Est-ce que ceci https://forums.commentcamarche.net/forum/affich-28497818-test-selenium#2 t'aide ?