Automatiser une connexion avec 2FA
Exécutez un parcours de connexion complet nécessitant une validation dans LuxTrust Mobile, itsme, Microsoft Authenticator ou une autre application 2FA Android.
Du parcours de connexion bancaire à la campagne de tests de nuit, voici comment des équipes QA automatisent l'authentification à deux facteurs avec Q-Bot.
Quatre situations où la chaîne de tests se débloque, sans que personne ne valide à la main.
Exécutez un parcours de connexion complet nécessitant une validation dans LuxTrust Mobile, itsme, Microsoft Authenticator ou une autre application 2FA Android.
Lancez vos tests de non-régression, y compris la nuit ou depuis votre CI/CD, sans qu'un testeur doive valider manuellement la double authentification.
Q-Bot peut ouvrir l'application 2FA et récupérer le code nécessaire afin que votre test puisse poursuivre son exécution.
Q-Bot peut afficher un QR code sur son écran intégré afin qu'il soit scanné par le smartphone dans le cadre du scénario automatisé.
Votre chaîne de tests garde la main de bout en bout. Q-Bot ne prend le relais que sur l'étape de double authentification, puis la rend.
Le parcours automatisé atteint l'étape qui demande une validation sur smartphone. C'est là que les outils de test s'arrêtent.
Votre test appelle l'API, ou l'app compagnon détecte seule la notification qui vient d'arriver sur le téléphone.
Q-Bot rejoue les appuis et les temps d'attente enregistrés, dans la véritable application 2FA, par USB.
La demande est approuvée sur le téléphone, ou le code à usage unique est récupéré et renvoyé à votre test.
Le parcours reprend là où il s'était arrêté, sans personne devant l'écran, de jour comme de nuit.
Un appel depuis votre chaîne de tests, ou rien du tout : l'app compagnon s'en charge dès qu'une notification 2FA arrive sur le téléphone.
Un appel HTTP au moment où le test atteint l'étape 2FA. Explicite, déterministe, facile à insérer dans n'importe quelle chaîne.
GET /scenarios/:id/executeL'app compagnon tourne sur l'appareil sous test et surveille les notifications des applications 2FA. Dès qu'une notification arrive, elle déclenche le scénario correspondant.
Le cas détaillé : des exécutions de nuit vraiment automatiques
Les deux chemins coexistent dans le même environnement : à chaque scénario, celui qui lui convient. Dans les deux cas, les appuis partent vers le téléphone par ADB, l'outil standard d'Android pour piloter un appareil relié en USB. La boucle ci-contre montre le geste : la notification arrive, le scénario se joue, l'écran du téléphone change.
Le détail pour qui veut le lire : cinq exemples d'appel, dépliables, et le mécanisme outil par outil.
# On déclenche le scénario 2FA
import requests
requests.get(
"http://q-bot.local:8000"
"/scenarios/42/execute"
)
# Le test reprend son cours
driver.find_element(
By.ID, "dashboard"
).is_displayed()// On déclenche le scénario 2FA
cy.request(
'GET',
'http://q-bot.local:8000'
+ '/scenarios/42/execute'
)
.its('status')
.should('eq', 200)
cy.get('#dashboard')
.should('be.visible')# On déclenche le scénario 2FA
curl -s \
http://q-bot.local:8000 \
/scenarios/42/execute
# Le code LuxTrust
OTP=$(curl -s \
http://q-bot.local:8000 \
/get-luxtrust-otp \
| jq -r '.otp')*** Settings ***
Library RequestsLibrary
*** Test Cases ***
Connexion 2FA
# on déclenche le scénario
${r}= GET
... ${QBOT}/scenarios/42/execute
Status Should Be 200 ${r}// on déclenche le scénario 2FA
given()
.baseUri("http://q-bot.local:8000")
.when()
.get("/scenarios/42/execute")
.then()
.statusCode(200);
// le test reprend son cours
assertTrue(
dashboard.isDisplayed()
);Q-Bot est auto-hébergé : l'API répond sur le réseau où vous installez le boîtier, tant qu'il est allumé, sans dépendance extérieure. Elle n'attend aucune clé d'API : le contrôle d'accès est celui de votre réseau.