Authentification avec actions manuelles
Récupérer le code OTP et le rendre disponible pour votre test GDSL manuellement.
Lorsque vous lancez une mesure sur un appareil du banc d'essai avec le CLI Greenspector, vous pouvez recevoir un email ou un SMS sur votre propre appareil lié à votre compte. Il se peut que vous deviez utiliser un authentificateur pour récupérer l'OTP manuellement.
Pour transmettre le code OTP manuellement au test GDSL, vous avez deux options.
Utiliser un email à usage unique avec mailsac
Nous utilisons le même mécanisme que celui décrit dans les deux parties : « Créer et configurer un compte mailsac » et « Exemple avec OTP » de la page Authentification avec email mais la différence est que vous devez envoyer manuellement un e-mail contenant l'OTP que vous avez à l'e-mail mailsac.
Utiliser un fichier JSON public
Obtenez l'OTP et écrivez-le dans un fichier json public sur Internet que votre test GDSL pourra lire.
Avant de lancer votre test GDSL, vous devez placer un fichier disponible sur internet via n'importe quel lecteur que vous pouvez utiliser (par exemple google drive).
ce fichier doit être au format json :
{
"value":""
}
Une fois que vous avez reçu votre code OTP, ajoutez-le dans ce même fichier.
{
"value":"123456"
}
Voici un exemple de test GDSL lisant le code OTP que vous avez défini dans votre fichier json. Vous devez l'adapter à votre propre contexte :
# cette méthode vérifie que votre fichier json existe avec une valeur vide avant de demander un nouveau code OTP
initOTPManual,https://myonlineotpfile.json
# Se connecter à votre application, par exemple un formulaire de login / mot de passe avec un bouton d'envoi.
# il faut s'adapter à son propre contexte
setTextById,mylogin,com.myapp:id/loginEditText
setTextById,mypassword,com.myapp:id/passwordEditText
waitUntilTextBeforeClick,submit
# À ce moment-là, un code OTP doit être envoyé par courrier électronique ou par SMS.
# cette méthode attend qu'une valeur soit disponible sur le fichier précédent pendant 10 minutes
# Lorsque vous avez reçu votre code, définissez le code OTP sur le fichier précédent.
waitAndStoreOTP
# Sélectionnez le texte d'édition de votre application où placer le code OTP.
# for example
clickByText,OTP code
# Vous pouvez ensuite utiliser cette méthode pour saisir le code OTP dans le texte d'édition.
enterStoredOTP
Comment ajouter un fichier json sur Internet contenant un code OTP ?
Vous pouvez utiliser n'importe quel lecteur ou système propre à votre entreprise. L'essentiel est d'avoir un fichier json en ligne accessible par une URL unique et modifiable à tout moment.
Voici un exemple avec google drive :
Ajouter un fichier comme otp.json sur votre google drive.
Sur le fichier, vous pouvez cliquer sur le bouton
...
pour sélectionner l'actionshare
Sélectionnez
Anyone with the link can view
.Copiez ensuite le lien et placez-le dans un autre onglet de votre navigateur.
Vous pouvez obtenir le
FILEID
qui se trouve entre /d/ et /viewDans le lien suivant, remplacez
FILEID
par l'identifiant unique du fichier que vous avez copié ci-dessus.Votre lien final devrait ressembler à ceci
Testez votre lien, il devrait télécharger votre fichier otp.json
Vous pouvez maintenant modifier le contenu du fichier otp.json stocké sur votre google drive
Pour ce faire, cliquez avec le bouton droit de la souris sur le fichier ou cliquez sur le bouton ...
et sélectionnez Ouvrir avec l'éditeur de texte
. Acceptez le message pour autoriser l'éditeur de texte à modifier votre fichier. Vous pouvez ensuite modifier la valeur des champs de votre json et cliquer sur le bouton sauvegarder dans le drive
pour sauvegarder le fichier.
Si vous utilisez le même fichier pour lire le code OTP, vous pouvez rencontrer l'erreur GDSL suivante :"Error on line authInitManualJSONFileOTP,https://drive.google.com/uc?export=download&id=1AzN-6sC0oFr0EZb8-2k6bOUR8rIcbbbr0-W (line: 22). Cause: The test could not access the json file (HTTP error 403). If you use google drive, the access may be blocked by google. Please try to create and use another one"
Si vous rencontrez ces erreurs, ne créez pas de nouveau fichier avec le même nom, vous devez créer un fichier avec un autre nom. Il s'agit d'une protection de Google.