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
Bonjour à tous,

Mon souci est de tester le téléchargement des fichiers (perperty) depuis une appli web grâve à l'outil Selenium. En gros, cette appli permet de téléverser un fichier ( upload en anglais) et de télécharger le même fichier ( download). Il faut s'aasurer que le fichier téléversé est le même téléchargé.

De l'aide SVP ! Je rame.
merci



A voir également:

9 réponses

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
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
1
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
grâce à l'outile selenium
0
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
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.
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
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
0
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
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
0
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
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
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
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
0
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
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
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
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
0

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
Super ça marche ! Merci beaucoup Dal !
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
20 août 2013 à 14:07
De rien, c'est cool :-)
0
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
Merci bien Dal pour le temps que tu consacres à me répondre. c'est vraiment trop gentil merci !
0
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
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);
}
}
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
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
0
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
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
0
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
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
7 févr. 2014 à 14:17
0