2024-10-14 10:58:57 +02:00
|
|
|
#+TITLE: Paheko : tests des membres
|
|
|
|
#+AUTHOR: Jean-Christophe Engel
|
|
|
|
#+LANGUAGE: fr
|
2024-09-30 17:27:12 +02:00
|
|
|
#+STARTUP: show3levels
|
|
|
|
#+STARTUP: inlineimages
|
2024-10-14 10:58:57 +02:00
|
|
|
#+OPTIONS: toc:2
|
2024-12-03 18:38:34 +01:00
|
|
|
* Test paheko [2/5]
|
|
|
|
** DONE 01 Installation [3/3]
|
2024-10-14 10:58:57 +02:00
|
|
|
- Exemple de test (après avoir installé un Paheko sur sa machine, sur
|
|
|
|
le vhost "paheko.localhost", sans base de données) :
|
|
|
|
- se rendre à l'adresse http://testpaheko.local.bzh
|
|
|
|
- remplir le formulaire d'installation
|
|
|
|
- valider le formulaire (cliquer sur le bouton en bas de page)
|
|
|
|
- sur la page suivante cliquer ensuite sur "configuration" dans le menu
|
|
|
|
- vérifier que les informations de l'association indiquées lors
|
|
|
|
l'installation se retrouvent exactement dans les champs de la
|
|
|
|
configuration
|
|
|
|
- cliquer sur le menu "Membres"
|
|
|
|
- vérifier que le membre par défaut est bien dans la liste
|
|
|
|
- cliquer sur la fiche du membre
|
|
|
|
- vérifier que l'adresse e-mail et autres infos remplies à
|
|
|
|
l'installation sont bien là
|
|
|
|
- mdp admin : interpeller noircir colis allumer
|
|
|
|
*** DONE 01-01 installation initiale
|
|
|
|
*** DONE 01-01a installation sur base existante
|
|
|
|
*** DONE 01-02 vérification premier membre
|
2024-12-03 18:38:34 +01:00
|
|
|
** DONE 02 Connexion [3/3]
|
2024-10-14 10:58:57 +02:00
|
|
|
*** DONE 02-01 connexion correcte
|
|
|
|
*** DONE 02-02 connexion échec identifiant
|
|
|
|
*** DONE 02-03 connexion échec mdp
|
2025-01-21 20:29:37 +01:00
|
|
|
** TODO Membres [12/14]
|
|
|
|
*** DONE 03 créer un membre [12/12]
|
2024-07-17 11:34:01 +02:00
|
|
|
**** données de la fiche membre
|
|
|
|
- Catégorie : choisir parmi les possibilités
|
|
|
|
- Rattacher à un membre : non / choisir un membre
|
|
|
|
- Numéro : par défaut ou à saisir
|
|
|
|
- Nom & prénom (oblig)
|
|
|
|
- Adresse E-Mail
|
|
|
|
- Adresse postale
|
|
|
|
- Code postal
|
|
|
|
- Ville
|
|
|
|
- Numéro de téléphone
|
|
|
|
- Inscription à la lettre d'information
|
|
|
|
- Date d'inscription
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 03-01 standard
|
|
|
|
**** DONE 03-03 Catégorie « Ancien membre »
|
2024-10-14 10:58:57 +02:00
|
|
|
- vérifier catégorie du membre créé
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 03-04 Inscrit à la lettre
|
|
|
|
**** DONE 03-05 date bizarre
|
|
|
|
**** DONE 03-06a attaché à un autre membre (choix unique)
|
|
|
|
**** DONE 03-06b attaché à un autre membre (plusieurs choix)
|
2024-07-17 11:34:01 +02:00
|
|
|
- utiliser et vérifier le numéro du responsable
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 03-07 numéro différent de celui proposé par défaut
|
|
|
|
**** DONE 03-91 numéro en double
|
|
|
|
**** DONE 03-92a date antérieure min
|
|
|
|
**** DONE 03-92b date postérieure max
|
|
|
|
**** DONE 03-93a nom en double refusé
|
|
|
|
**** DONE 03-93b nom en double accepté
|
2025-01-21 20:29:37 +01:00
|
|
|
*** TODO 04 lister les membres [4/5]
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 04-01 toutes les catégories
|
2024-10-14 10:58:57 +02:00
|
|
|
- gérer le cas où les membres occupent plus d'une page
|
|
|
|
- ¿ vérifier si on peut supprimer un tri inutile ?
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 04-02 toutes catégories sauf cachées
|
|
|
|
**** DONE 04-03 une seule catégorie
|
2025-01-21 20:29:37 +01:00
|
|
|
**** TODO tri par différents critères [5/6]
|
2024-10-14 10:58:57 +02:00
|
|
|
***** DONE 04-04, 04-05 tri par nom croissant et décroissant
|
2024-07-17 11:34:01 +02:00
|
|
|
Le nouveau tri est comme ceci :
|
|
|
|
colonne IS NULL DESC, colonne DESC, numero DESC
|
|
|
|
(DESC est remplacé par ASC pour un tri croissant)
|
|
|
|
Autre changement du coup : les champs non-vides sont placés en dernier
|
|
|
|
pour un tri croissant, en premier pour un tri décroissant.
|
2024-10-14 10:58:57 +02:00
|
|
|
***** DONE 04-06 numéro décroissant
|
|
|
|
***** DONE 04-07, 04-08 ville croissant et décroissant
|
2024-07-17 11:34:01 +02:00
|
|
|
Tri par ville
|
|
|
|
- ville (dé)croissant, numéro membre (dé)croissant
|
|
|
|
- ville vide en fin(début), numéro membre (dé)croissant
|
2025-01-21 20:29:37 +01:00
|
|
|
***** TODO 04-09, 04-10 tri par membre « rattaché à » croissant et décroissant
|
|
|
|
- le test pour savoir s'il y a plus d'un parent qui correspond à la recherche (lignes 64+) ne fonctionne plus
|
2024-10-14 10:58:57 +02:00
|
|
|
- pour la colonne "rattaché à" : on met un tri sur la qualité de
|
|
|
|
parent, puis le nom du parent en premier, puis le nom du membre,
|
|
|
|
puis son numéro :
|
|
|
|
- id_parent IS NULL ASC, nom_parent DESC, nom_membre DESC, numero DESC
|
|
|
|
- parent (dé)croissant, nom membre (dé)croissant, numéro (dé)croissant
|
|
|
|
- parent vide à la fin, nom membre (dé)croissant, numéro (dé)croissant
|
|
|
|
***** DONE 04-11, 04-12 tri par responsable croissant et décroissant
|
|
|
|
- is_parent ASC, nom_membre DESC, numero DESC
|
|
|
|
***** DONE 04-90 lister membres sur plusieurs pages
|
2024-07-17 11:34:01 +02:00
|
|
|
**** DONE consulter fiche
|
2025-01-21 20:29:37 +01:00
|
|
|
*** DONE 05 rechercher des membres [3/3]
|
2024-07-17 11:34:01 +02:00
|
|
|
**** Remarques :
|
|
|
|
- si la recherche trouve un seul résultat, elle affiche directement la
|
|
|
|
fiche du membre
|
|
|
|
- s'il y a plusieurs résultats, la recherche affiche l'onglet
|
|
|
|
« Recherche avancée » avec les résultats
|
|
|
|
- s'il n'y a aucun résultat, la recherche affiche l'onglet
|
|
|
|
« Recherche avancée » avec une liste de résultats vide
|
|
|
|
**** DONE chercher par nom
|
2024-10-14 10:58:57 +02:00
|
|
|
***** DONE 05-01 résultat unique
|
|
|
|
- garantir l'unicité du nom cherché
|
2024-10-14 10:21:51 +02:00
|
|
|
***** DONE 05-02 plusieurs résultats
|
|
|
|
***** DONE 05-03 aucun résultat
|
2024-07-17 11:34:01 +02:00
|
|
|
**** DONE chercher par numéro
|
2024-10-14 10:21:51 +02:00
|
|
|
***** DONE 05-11 un résultat
|
|
|
|
***** DONE 05-12 aucun résultat
|
2025-01-21 20:29:37 +01:00
|
|
|
**** DONE par courriel [3/3]
|
2024-10-14 10:58:57 +02:00
|
|
|
***** DONE 05-21 un seul résultat
|
|
|
|
- => fiche membre
|
|
|
|
***** DONE 05-22 0 résultat
|
|
|
|
- => onglet « Recherche avancée »
|
2025-01-21 20:29:37 +01:00
|
|
|
***** DONE 05-23 plusieurs résultast
|
|
|
|
La recherche rapide ne se fait plus que dans les catégories non cachées !!!
|
2024-10-14 10:58:57 +02:00
|
|
|
- => onglet « Recherche avancée »
|
2024-08-19 09:30:49 +02:00
|
|
|
*** DONE 06 supprimer un membre
|
2024-10-14 10:21:51 +02:00
|
|
|
- NB : le tri des membres ne change pas après suppression
|
2025-01-21 20:29:37 +01:00
|
|
|
**** TODO 06-01 plusieurs membres sélectionnés
|
|
|
|
- le runner ne trouve pas le bouton suppriùmer du dialogue de confirmation de suppression
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 06-02 sélectionné = admin
|
2024-07-17 11:34:01 +02:00
|
|
|
**** aucun membre sélectionné => action interdite
|
2024-08-19 09:30:49 +02:00
|
|
|
*** DONE 07 modifier un membre
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 07-01 modifier caractéristiques « simples »
|
2024-07-17 11:34:01 +02:00
|
|
|
- si un seul membre => en créer un deuxième
|
|
|
|
- chercher le premier numéro disponible
|
|
|
|
- chercher puis modifier le premier membre de numéro différent de 1
|
|
|
|
- modifier les différents champs
|
|
|
|
- numéro
|
|
|
|
- catégorie
|
|
|
|
- nom, prénom
|
|
|
|
- courriel
|
|
|
|
- adresse
|
|
|
|
- code postal
|
|
|
|
- ville
|
|
|
|
- téléphone
|
|
|
|
- lettre info
|
|
|
|
- date inscription
|
|
|
|
- enregistrer
|
|
|
|
- vérifier les infos
|
2024-10-14 10:58:57 +02:00
|
|
|
**** DONE 07-02 attribuer un mot de passe à un membre
|
2024-07-17 11:34:01 +02:00
|
|
|
- sélectionner un membre actif (pas ancien, car pas le droit de se
|
|
|
|
connecter)
|
|
|
|
- cliquer Définir mdp
|
|
|
|
- saisir deux fois un mdp généré
|
|
|
|
- mémoriser nom et adresse courriel
|
|
|
|
- déconnecter
|
|
|
|
- connexion avec
|
|
|
|
- adresse courriel
|
|
|
|
- mdp
|
|
|
|
- vérifier Nom présent page accueil
|
|
|
|
- vérifier numéro membre sur fiche membre
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 07-03 rattacher un membre
|
2024-07-17 11:34:01 +02:00
|
|
|
- créer deux membres et mémoriser leurs numéros
|
|
|
|
- rattacher le premier au deuxième à l'aide de son numéro
|
|
|
|
- vérifier les deux membres
|
2024-08-19 09:30:49 +02:00
|
|
|
*** DONE 08 importer des membres
|
2024-07-17 11:34:01 +02:00
|
|
|
**** Remarques
|
|
|
|
- Si déjà tu peux tester qu'un fichier CSV donné s'importe bien, c'est
|
|
|
|
déjà génial je pense
|
|
|
|
- ¿ Tester les possiblités d'ignorer certains champs ?
|
|
|
|
**** DONE Créer tous les membres
|
|
|
|
- Tous les membres trouvés dans le fichier seront créés.
|
|
|
|
- Cela peut amener à avoir des membres en doublon si on réalise
|
|
|
|
plusieurs imports du même fichier.
|
2024-10-14 10:21:51 +02:00
|
|
|
***** DONE 08-01 création sans conflit
|
|
|
|
***** DONE 08-02 création avec conflit
|
|
|
|
***** DONE 08-03 création sans en-tête
|
2024-07-17 11:34:01 +02:00
|
|
|
***** ¿ création en choisissant certaines options ?
|
|
|
|
**** DONE Mettre à jour en utilisant le numéro de membre
|
|
|
|
- Les membres présents dans le fichier qui mentionnent un numéro de
|
|
|
|
membre seront mis à jour en utilisant ce numéro.
|
|
|
|
- Si une ligne du fichier mentionne un numéro de membre qui n'existe
|
|
|
|
pas ou n'a pas de numéro de membre, l'import échouera.
|
2024-10-14 10:21:51 +02:00
|
|
|
***** DONE 08-11 tous les membres existent ; certains sont mis à jour
|
|
|
|
***** DONE 08-12 au moins un membre n'existe pas
|
|
|
|
**** DONE 08-21 Automatique : créer ou mettre à jour en utilisant le numéro de membre
|
2024-07-17 11:34:01 +02:00
|
|
|
- Met à jour la fiche d'un membre si son numéro existe, sinon crée un
|
|
|
|
membre si le numéro de membre indiqué n'existe pas ou n'est pas
|
|
|
|
renseigné.
|
2024-08-19 09:30:49 +02:00
|
|
|
*** DONE 09 exporter des membres
|
2024-10-14 10:58:57 +02:00
|
|
|
- Je ne sais pas ce que permet Selenium, mais si déjà tu peux tester
|
|
|
|
que ça produit bien un fichier de plus de 0 octets ça sera bien.
|
|
|
|
- Résultat avec le runner : le fichier exporté est placé dans le
|
|
|
|
répertoire ~/Downloads ; parfois l'export échoue
|
|
|
|
- MAIS l'ajout d'une opération après le déclenchement de
|
|
|
|
l'enregistrement permet sa bonne terminaison
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 09-01 export sauf catégories cachées
|
|
|
|
**** DONE 09-02 export toutes catégories
|
|
|
|
**** DONE 09-03 export membres actifs
|
|
|
|
**** DONE 09-04 export administrateurs
|
2024-08-19 09:30:49 +02:00
|
|
|
*** DONE 10 configuration membres Préférences
|
|
|
|
**** DONE 10-01 catégorie par défaut des nouveaux membres
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 10-02 identité : ajouter adresse courriel au champ Nom & Prénom
|
|
|
|
**** DONE 10-03 identité : remplacer le champ Nom & Prénom par le champ courriel
|
|
|
|
**** DONE 10-04 connexion par numéro de membre
|
|
|
|
**** DONE 10-05 durée de conservation journal : aucun
|
2024-08-19 09:30:49 +02:00
|
|
|
- créer un membre
|
|
|
|
- lui attribuer un mot de passe
|
|
|
|
- mettre la durée de conservatin à 0
|
|
|
|
- déconnexion admin
|
|
|
|
- connexion du membre
|
|
|
|
- vérifier journal connexion vide
|
|
|
|
- déconnexion
|
|
|
|
- connexion admin
|
|
|
|
- vérification absence membre dans journal
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 10-06 connexion par numéro de téléphone
|
2024-08-19 09:30:49 +02:00
|
|
|
**** ¿ déconnexion automatique ?
|
2024-09-30 17:27:12 +02:00
|
|
|
*** DONE 11 ajouter un champ à la fiche membre
|
|
|
|
- vérifier ensuite que les champs membre ajoutés fonctionnent bien dans
|
|
|
|
la fiche du membre (et ce pour chaque type de champ ?) et apparaissent
|
|
|
|
dans la liste des membres
|
|
|
|
- les champs prédéfinis s'ajoutent avant les champs personnalisés et
|
|
|
|
semble-t-il de temps en temps, le nouveau champ (perso) est ajouté en
|
|
|
|
avant-dernière position !
|
|
|
|
***** DONE 11-01 ajout champ perso email
|
|
|
|
***** DONE 11-02 ajout champ perso url
|
|
|
|
***** DONE 11-03 ajout champ perso case à cocher
|
|
|
|
***** DONE 11-04 ajout champ perso date
|
|
|
|
***** DONE 11-05 ajout champ perso date et heure
|
|
|
|
***** DONE 11-06 ajout champ perso mois et année
|
|
|
|
- avec le driver de chrome :
|
|
|
|
- saisir le mois
|
|
|
|
- envoyer le code de la touche de tabulation
|
|
|
|
- saisir l'année
|
|
|
|
fonctionne avec runner et le driver de chrome mais probablement pas avec celui de firefox
|
|
|
|
***** DONE 11-07 ajout champ perso année
|
|
|
|
***** DONE 11-08 ajout champ perso fichier
|
|
|
|
- utilise le fichier /tmp/cv.pdf
|
|
|
|
- PB : dans la fiche membre, le nom du fichier comporte un « ­ » avant le point
|
|
|
|
***** DONE 11-08a ajout champ perso fichier avec modification
|
2024-08-23 12:11:48 +02:00
|
|
|
- utilise les fichiers /tmp/cv.pdf et /tmp/cv2.pdf
|
|
|
|
- PB : dans la fiche membre, le nom du fichier comporte un « ­ » avant le point
|
2024-09-30 17:27:12 +02:00
|
|
|
***** DONE 11-09 ajout champ perso mot de passe
|
2024-08-23 12:11:48 +02:00
|
|
|
- question : ce mot de passe ne sert pas à se connecter, donc à quoi sert-il ?
|
|
|
|
- pour vérifier le mot de passe, il faut :
|
|
|
|
- connecter le membre
|
|
|
|
- modifier les infos personnelles
|
|
|
|
- afficher le mot de passe :
|
|
|
|
- NB : le mdp qui s'affiche (en fonctionnement interactif) est
|
|
|
|
celui enregistré par le navigateur pour l'admin !!
|
|
|
|
- NB : en mode runner, le champ est vide =>impossible de vérifier le mdp
|
|
|
|
- Remarque : la modification du mot de passe est prise en compte mais on
|
|
|
|
ne peut le voir qu'en exportant les données de la fiche membre
|
2024-09-30 17:27:12 +02:00
|
|
|
***** DONE 11-10 ajout champ perso nombre
|
|
|
|
***** DONE 11-11 ajout champ perso nombre à virgule
|
|
|
|
***** DONE 11-12 ajout champ perso numéro téléphone
|
|
|
|
***** DONE 11-13 ajout champ perso Sélecteur à choix unique
|
|
|
|
***** DONE 11-14 ajout champ perso Sélecteur à choix multiple
|
|
|
|
***** DONE 11-15 ajout champ perso pays
|
2024-08-23 12:11:48 +02:00
|
|
|
- Pour définir le pays par défaut, il faut indiquer son code à deux
|
|
|
|
lettres et non son nom complet => à documenter ou à changer
|
2024-09-30 17:27:12 +02:00
|
|
|
***** DONE 11-16 ajout champ perso texte libre
|
|
|
|
***** DONE 11-17 ajout champ perso texte choix multiple
|
|
|
|
***** DONE 11-18 ajout champ perso texte multilignes
|
|
|
|
***** DONE 11-19 ajout champ perso calculé
|
2024-08-23 12:11:48 +02:00
|
|
|
***** DONE 11-30 ajout ancienneté
|
|
|
|
- c'est un champ calculé à partir de la date d'inscription
|
2024-09-30 17:27:12 +02:00
|
|
|
***** DONE 11-31 ajout année naissance
|
|
|
|
***** DONE 11-32 ajout date naissance
|
|
|
|
***** DONE 11-33 ajout pays
|
|
|
|
***** DONE 11-34 ajout photo
|
|
|
|
- utilise le fichier /tmp/photo.jpg
|
|
|
|
***** DONE 11-35 ajout pronom
|
|
|
|
***** DONE 11-36 ajout âge en fonction année naissance
|
|
|
|
- ajouter année naissance
|
|
|
|
- ajouter âge
|
|
|
|
- tenir compte du cas où il y a déjà un champ âge/date naissance
|
|
|
|
***** DONE 11-37 ajout âge en fonction date naissance
|
|
|
|
- ajouter date naissance
|
|
|
|
- ajouter âge
|
|
|
|
- tenir compte du cas où il y a déjà un champ âge/année naissance
|
2024-10-14 10:21:51 +02:00
|
|
|
***** DONE 11-90 saisir un champ avec un identifiant déjà existant
|
2024-09-30 17:27:12 +02:00
|
|
|
- récupérer l'identifiant d'un champ déjà présent
|
|
|
|
- messages d'erreur différents selon le champ :
|
|
|
|
- Ce nom de champ est déjà utilisé par un autre champ : adresse, code_postal,
|
|
|
|
ville, telephone, lettre_infos_1, date_inscription
|
|
|
|
- numero : Aucun champ de numéro de membre n'existe
|
|
|
|
- nom : Aucun champ de nom de membre n'existe
|
|
|
|
- email : Aucun champ d'identifiant de connexion n'existe
|
2024-08-23 12:11:48 +02:00
|
|
|
***** TODO ¿ saisir une donnée erronée dans chaque champ ?
|
|
|
|
Pas sûr qu'on puisse : la saisie des champs est contrôlée (partiellement ?)
|
2024-09-30 17:27:12 +02:00
|
|
|
*** DONE 12 modifier un champ de la fiche membre
|
|
|
|
**** DONE 12-01 numéro non affiché liste membres
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE TEST SUPPRIMÉ car devenu inutile 12-02 numéro non obligatoire
|
2024-09-30 17:27:12 +02:00
|
|
|
Même si on ne saisit pas un numéro, il sera automatiquement affecté
|
|
|
|
- le test est-il pertinent ?
|
|
|
|
- faut-il empêcher cette modification ?
|
|
|
|
**** DONE 12-03 numéro non visible fiche membre
|
|
|
|
**** DONE TEST SUPPRIMÉ car devenu inutile 12-06 nom, prénom non affiché liste membres
|
|
|
|
- la modification n'est plus possible
|
|
|
|
**** DONE 12-07 nom, prénom non obligatoire
|
|
|
|
**** DONE 12-08 nom, prénom modifiable
|
|
|
|
**** DONE 12-09 nom, prénom non visible fiche membre
|
|
|
|
**** DONE 12-11 e-mail affiché liste membres
|
|
|
|
**** DONE 12-12 e-mail obligatoire
|
|
|
|
**** DONE [[./images/attention-petit.png]] 12-13 e-mail modifiable
|
2024-10-14 10:21:51 +02:00
|
|
|
- après « se connecter à sa place » :
|
2024-09-30 17:27:12 +02:00
|
|
|
- clic « Mes infos personnelles » échoue
|
|
|
|
- impossible ensuite de se connecter en tant qu'admin
|
|
|
|
- réinstallation nécessaire !
|
2024-10-14 12:16:19 +02:00
|
|
|
- avec attribution d'un mot de passe, changement email possible, mais :
|
|
|
|
- attente trèès longue lors enregistrement
|
2024-09-30 17:27:12 +02:00
|
|
|
**** DONE 12-14 e-mail non visible fiche membre
|
|
|
|
**** DONE 12-16 mot de passe modifiable
|
|
|
|
- fonctionne, mais temps d'attente long lors de l'enregistrement du
|
|
|
|
nouveau mot de passe
|
|
|
|
**** DONE 12-17 mot de passe non visible
|
2024-10-14 10:21:51 +02:00
|
|
|
*** DONE 13 changer l'ordre des champs de la fiche membre
|
2024-09-30 17:27:12 +02:00
|
|
|
**** DONE 13-01 intervertir numéro et nom
|
|
|
|
- est-ce utile de tester d'autres changements d'ordre ?
|
2025-01-21 20:29:37 +01:00
|
|
|
*** DONE 14 configuration membres Catégories [5/5]
|
2024-10-14 10:21:51 +02:00
|
|
|
**** DONE 14-01 ajouter une catégorie
|
|
|
|
**** DONE 14-01b ajouter deux catégories de même non
|
|
|
|
**** DONE 14-02 supprimer une catégorie non vide
|
|
|
|
**** DONE 14-03 vider et supprimer une catégorie
|
|
|
|
**** DONE modifier une catégorie
|
|
|
|
***** DONE 14-10 inverser la visibilité d'une catégorie
|
|
|
|
***** DONE 14-11 interdire connexion
|
|
|
|
- interdire la connexion d'une catégorie
|
|
|
|
- ajouter un membre dans cette catégorie
|
|
|
|
- lui attribuer un mot de passe
|
|
|
|
- essayer de connecter le membre
|
|
|
|
- vérifier l'échec
|
|
|
|
***** DONE 14-12 autoriser connexion
|
|
|
|
- interdire la connexion d'une catégorie
|
|
|
|
- ajouter un membre dans cette catégorie
|
|
|
|
- lui attribuer un mot de passe
|
|
|
|
- essayer de connecter le membre
|
|
|
|
- vérifier l'échec
|
2025-01-21 20:29:37 +01:00
|
|
|
*** DONE Droits [9/9]
|
2024-10-14 10:21:51 +02:00
|
|
|
- vérifier que le droit lecture/écriture/administration fonctionne
|
|
|
|
bien, notamment via le bouton "connexion à la place du membre"
|
|
|
|
- Gestion des membres
|
|
|
|
- Pas d'accès
|
|
|
|
- Lecture uniquement (peut voir les informations personnelles de
|
|
|
|
tous les membres, y compris leurs inscriptions à des activités)
|
|
|
|
- Lecture & écriture (peut ajouter et modifier des membres, peut
|
|
|
|
changer de catégorie un membre d'une catégorie ayant des droits
|
|
|
|
égaux ou moindres, ne peut pas supprimer des membres, peut inscrire
|
|
|
|
des membres à des activités, peut envoyer des messages collectifs)
|
|
|
|
- Administration (peut tout faire)
|
|
|
|
***** DONE 14-20 aucun droit : consultation autre membre impossible
|
|
|
|
***** DONE 14-30 droit lecture : consultation autre membre possible
|
|
|
|
***** DONE 14-31 droit lecture : modification autre membre impossible
|
|
|
|
***** DONE 14-32 droit lecture : création membre impossible
|
|
|
|
***** DONE 14-40 droit écriture : création membre possible
|
|
|
|
***** DONE 14-41 droit écriture : suppression autre membre impossible
|
|
|
|
***** DONE 14-42 droit écriture : changer de catégorie possible
|
|
|
|
***** DONE 14-43 droit écriture : modifier admin impossible
|
|
|
|
***** DONE 14-50 droit administration : suppression autre membre possible
|
2024-09-30 17:27:12 +02:00
|
|
|
*** TODO supprimer un champ dans la fiche membre
|
2024-10-14 10:58:57 +02:00
|
|
|
- certains champs dépendent d'un autre : âge dépend de l'année de
|
|
|
|
naissance => on ne peut supprimer année si âge est présent !
|
|
|
|
- PROBLÈME : le clic sur le bouton de confirmation de la suppression est pris en compte par
|
|
|
|
l'IDE mais pas toujours par le runner
|
2024-09-30 17:27:12 +02:00
|
|
|
- même problème en utilisant du code javascript pour ouvrir le
|
|
|
|
dialogue de confirmation dans un onglet plutôt qu'une popup ; dans
|
|
|
|
ce cas, c'est la case à cocher qui n'est pas cochée !
|
|
|
|
**** TODO Suppression adresse postale
|
2024-10-14 10:58:57 +02:00
|
|
|
- échec => inutile de perdre davantage de temps !!!
|
|
|
|
** TODO Démarrer la comptabilité
|
2024-07-17 11:34:01 +02:00
|
|
|
- cas normal
|
|
|
|
- choix du PC
|
|
|
|
- dates exercice
|
|
|
|
- vérifications
|
|
|
|
- nombre d'écritures
|
|
|
|
- PC
|
|
|
|
- dates exercice
|
|
|
|
- tester erreur saisie dates
|
|
|
|
- tester modif pays
|
|
|
|
|
2024-10-14 10:58:57 +02:00
|
|
|
** TODO test saisie recette
|
|
|
|
Un autre test pour la compta :
|
2024-07-17 11:34:01 +02:00
|
|
|
- se rendre à l'adresse http://testpaheko.local.bzh/admin/ (après avoir été
|
|
|
|
connecté dans un test précédent, que je ne détaille pas ici)
|
|
|
|
- cliquer sur le menu "Saisie" dans la compta
|
|
|
|
- cliquer sur "recette"
|
|
|
|
- renseigner un libellé, un montant, les comptes, autres champs etc.
|
|
|
|
- valider le formulaire
|
|
|
|
- sur la page de détail de l'écriture, vérifier que toutes les
|
|
|
|
mentions, comptes et montants correspondent à ce qui a été saisi
|
|
|
|
- se rendre sur la page compte de résultat
|
|
|
|
- vérifier que le montant de la recette apparaît bien dans les
|
|
|
|
produits, que le nom du compte est bon, etc.
|
|
|
|
|
2024-10-14 10:58:57 +02:00
|
|
|
** Notes
|
2025-01-21 20:29:37 +01:00
|
|
|
*** sélecteur dropdown
|
|
|
|
- il faut absolument fermer le dropdown avant de cliquer ailleurs
|
2024-07-17 11:34:01 +02:00
|
|
|
*** parcours table
|
|
|
|
- compter le nombre d'éléments de la table => nb_elem
|
|
|
|
- itérer avec un compteur (while) => num
|
|
|
|
- accéder à l'élément courant grâce au compteur //tr[${num}]
|
|
|
|
| Command | Target | Value |
|
|
|
|
|-----------------+----------------------------------------------------------+---------|
|
|
|
|
| storeXpathCount | xpath=//table[@class=\"list\"]/tbody/tr/th//span | nb_elem |
|
|
|
|
| executeScript | return 1 | num |
|
|
|
|
| while | ${num} <= ${nb_elem} | |
|
|
|
|
| storeText | xpath=//table[@class=\"list\"]/tbody/tr[${num}]/th//span | nom |
|
|
|
|
| echo | ${nom} | |
|
|
|
|
| execute script | return ${num} + 1 | num |
|
|
|
|
| end | | |
|
|
|
|
|
2024-10-14 10:21:51 +02:00
|
|
|
*** problème avec instruction conditionnelle dans 4-09 et 4-10
|
|
|
|
#+BEGIN_SRC bash
|
|
|
|
if (${nb_parents} >= 2)
|
|
|
|
{ ... }
|
|
|
|
else if (${nb_total_membres} > 2)
|
|
|
|
// ce bloc est exécuté même si nb_parents >= 2
|
|
|
|
{ ... }
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
**Contournement**
|
|
|
|
#+BEGIN_SRC bash
|
|
|
|
if (${nb_parents} >= 2)
|
|
|
|
{ ... }
|
|
|
|
else if ${nb_parents} < 2 && ${nb_total_membres} > 2
|
|
|
|
{ ... }
|
|
|
|
#+END_SRC
|
|
|
|
*** problème avec apostrophe
|
|
|
|
- pas d'apostrophe dans les éléments de tableau, sinon problème
|
|
|
|
- si apostrophe dans une chaîne => lors de l'appel d'un script :
|
|
|
|
problème avec l'IDE mais pas avec le runner
|
|
|
|
*** erreur timeout
|
|
|
|
Il y a un bug, référenceé ici : https://github.com/SeleniumHQ/selenium-ide/issues/1819
|
|
|
|
qui affiche un message d'erreur après une longue pause :
|
|
|
|
#+BEGIN_COMMENT
|
|
|
|
Jest did not exit one second after the test run has completed.
|
|
|
|
|
|
|
|
'This usually means that there are asynchronous operations that
|
|
|
|
weren't stopped in your tests. Consider running Jest with
|
|
|
|
`--detectOpenHandles` to troubleshoot this issue.
|
|
|
|
#+END_COMMENT
|
|
|
|
l'ajout de « detectOpenHandles » est strictement sans effet...
|
|
|
|
D'où la tentative de contournement dans runtest
|
|
|
|
*** comparer des nombres
|
|
|
|
Les valeurs récupérées sur une page sont des chaînes => à convertir en
|
|
|
|
nombre avec Number pour faire une comparaison numérique (ex : numéro
|
|
|
|
de membre)
|
|
|
|
*** display:none
|
|
|
|
Impossible de sélectionner un élément avec l'attribut **display:none**
|
|
|
|
; il faut préalablement lui mettre l'attribut **display:block**
|
|
|
|
*** numéro de téléphone
|
|
|
|
- **Attention**, un numéro qui commence par 0 est formatté avec un
|
|
|
|
espace entre les paires de chiffres !!
|
|
|
|
*** accès élément tableau javascript
|
|
|
|
#+BEGIN_SRC javascript
|
|
|
|
// refusé par IDE mais accepté par runner
|
|
|
|
return ${t}[${i}]
|
|
|
|
#+END_SRC
|
2024-10-14 10:58:57 +02:00
|
|
|
*** objet javascript
|
|
|
|
voir https://github.com/SeleniumHQ/selenium-ide/issues/1603
|
2024-10-14 10:21:51 +02:00
|
|
|
- Syntaxe accès aux objets : ${objet}.attribut ou ${objet}.methode
|
|
|
|
#+BEGIN_SRC javascript
|
|
|
|
// refusé par le runner
|
|
|
|
return ${membre.nom}
|
|
|
|
|
|
|
|
// accepté
|
|
|
|
return ${membre}.nom;
|
|
|
|
#+END_SRC
|
|
|
|
*** input type="checkbox
|
|
|
|
Pour (dés)activer un /<input type="checkbox"/, il faut utiliser
|
|
|
|
**(un)check** car le runner (de chrome ?) n'aime pas **click**
|
|
|
|
*** Appel de fonction
|
|
|
|
L'/appel de fonction/ définie dans le script avec une variable de
|
|
|
|
l'IDE en param ne fonction qu'avec Chrome. NB : vérifier exactement
|
|
|
|
ce qui ne fonctionne pas avec firefox ?
|
|
|
|
*** Envoi de fichier
|
|
|
|
- Ne fonctionne qu'avec chrome
|
2024-10-14 10:58:57 +02:00
|
|
|
- insérer (type) le chemin du fichier dans le champ de saisie du nom
|
|
|
|
- cliquer le bouton d'envoi
|
2024-10-14 10:21:51 +02:00
|
|
|
- *Important* : Ne pas cliquer sur le bouton d'ouverture du sélecteur
|
|
|
|
de fichier : il ne se refermera pas et masquera les éléments de la
|
|
|
|
fenêtre précédente qui ne pourront plus être activés
|
|
|
|
*** Sélectionner un onglet/une fenêtre après ouverture
|
|
|
|
- dans la commande qui ouvre une nouvelle fenêtre ou un nouvel onglet,
|
|
|
|
cliquer l'icône « Add new window configuration » tout à droite de la
|
|
|
|
commance ; saisir un nom de fenre qu'on pourra utiliser plus loin
|
|
|
|
pour sélectionner la fenêtre quand elle sera ouverte avec la
|
|
|
|
commande :
|
|
|
|
#+BEGIN_SRC
|
|
|
|
select window | handle=${nom_fenêtre}
|
|
|
|
#+END_SRC
|
|
|
|
- voir 13-01 suppression adresse
|
|
|
|
*** Version mobile
|
|
|
|
- les libellés des boutons du menu principal n'apparaissent pas et ne
|
|
|
|
sont donc pas trouvés, ni par un chemin xpath, ni par un chemin css
|
|
|
|
; il faut donc utiliser un chemin qui s'arrête à l'url du lien
|
|
|
|
correspondant.
|
|
|
|
- les sous-menus n'apparaissent pas => pas d'accès direct => il faut
|
|
|
|
procéder par étape : menu puis sous-menu
|
|
|
|
- lors de l'ajout d'un membre, le bouton Enregistrer n'est pas visible
|
|
|
|
et ne peut être cliqué ; pour le rendre visible, il faut passer
|
|
|
|
d'une rubrique à l'autre avec la touche Tab ou avec PageDown, par
|
|
|
|
exemple après avoir saisi la date.... **mais** :
|
|
|
|
- avec navigateur chrome : pas de sélecteur de date ! => il faut ruser :(
|
|
|
|
- même ainsi, il se peut que le bouton ne puisse recevoir le clic
|
|
|
|
(voir ci-dessous) ; apparemment le webdriver firefox ne réagit pas
|
|
|
|
à PageDown et celui de chrome réagit à Tab, mais ça ne suffit pas
|
|
|
|
à rendre cliquable le bouton Enregistrer
|
|
|
|
|
|
|
|
Bref, ce qui marche pour le driver chrome ne marche pas pour celui de firefox et vice-versa..
|
|
|
|
|
|
|
|
#+BEGIN_SRC bash
|
|
|
|
> selenium-side-runner -c "browserName=firefox" -f "mobile" paheko_v4.side
|
|
|
|
|
|
|
|
Element <button class="main icn-btn" name="save" type="submit"> is not clickable
|
|
|
|
at point (125,633) because another element <ul> obscures it
|
|
|
|
#+END_SRC
|
|
|
|
|
|
|
|
*** Exception javascript (CORRIGÉ)
|
|
|
|
quand l'inspecteur est ouvert, le clic sur le sélecteur d'identité des
|
|
|
|
membres (Configuration/Membres/Préférences) déclenche une exception
|
|
|
|
javascript (TypeError: document.querySelector(...) is null) sur l'instruction :
|
|
|
|
#+BEGIN_SRC javascript
|
|
|
|
document.querySelector('input').focus();
|
|
|
|
#+END_SRC
|
|
|
|
*** PB : Se connecter à la place d'un membre
|
|
|
|
- OK avec l'IDE
|
|
|
|
- échec systématique avec le runner => c'est l'admin qui est connecté,
|
|
|
|
pas le membre choisi
|
|
|
|
*** PB : suppression champ dans la fiche membre
|
|
|
|
- OK avec l'IDE
|
|
|
|
- échecs aléatoires avec le runner
|
|
|
|
- le clic sur le bouton de confirmation de la suppression n'est pas
|
|
|
|
pris en compte
|
|
|
|
- même problème en utilisant du code javascript pour ouvrir le
|
|
|
|
dialogue de confirmation dans un onglet plutôt qu'une popup ; dans
|
|
|
|
ce cas, c'est la case à cocher qui n'est pas cochée !
|