Das Testen von Einmalpasswörtern (OTPs) kann so mühsam sein, oder? Ständiges Hin- und Herwechseln zwischen Ihrer App und dem SMS-Posteingang auf der Suche nach Codes ... Es ist an der Zeit, das zu beheben. Lassen Sie uns über die Automatisierung des gesamten Prozesses mit Tools sprechen, die einfach die Arbeit erledigen. Und ja, wir werden auch temporäre Telefonnummern verwenden, aber wir bleiben locker und konzentrieren uns auf den echten Mehrwert für Ihren Entwicklungsworkflow.
Hier erfahren Sie, wie Sie Ihr OTP-Spiel mit Tools wie Playwright, Puppeteer, Selenium und etwas Kreativität verbessern können. Ganz gleich, wie hoch Ihr Stapel ist, hier finden Sie einige Nuggets.
Besorgen Sie sich programmgesteuert einige temporäre Telefonnummern, sichern Sie sich die OTPs über die API und automatisieren Sie den Rest. Kein Hin und Her mehr, kein Drama mehr. Bei Sprint-Reviews werden Sie wie ein Zauberer aussehen.
Es gibt viele Dienste für temporäre Telefonnummern. Warum also Quackr.io wählen? Hier ist der Deal:
Wir haben Quackr.io verwendet, weil es all diese Kriterien erfüllt. Sie können gerne andere ausprobieren, aber wenn Sie etwas Zuverlässiges suchen, ist Quackr.io ein guter Ausgangspunkt.
So können Sie ein OTP-Automatisierungsskript erstellen. Betrachten Sie es als Ausgangspunkt – machen Sie es zu Ihrem.
Melden Sie sich zunächst bei einem Dienst an, der temporäre Telefonnummern bereitstellt (wir verwenden Quackr.io). Schnappen Sie sich Ihren API-Schlüssel und los geht’s.
Wenn Sie Node.js rocken, benötigen Sie ein paar Pakete:
npm install playwright axios dotenv
Hier ist ein Beispiel mit Playwright und Axios. Passen Sie es gerne an Ihr Setup an.
const { chromium } = require('playwright'); const axios = require('axios'); require('dotenv').config(); (async () => { const browser = await chromium.launch(); const page = await browser.newPage(); // Fetch a temporary phone number const phoneResponse = await axios.get('https://quackr.io/api/phones', { headers: { 'Authorization': `Bearer ${process.env.API_KEY}` } }); const phoneNumber = phoneResponse.data.number; console.log(`Using phone number: ${phoneNumber}`); // Simulate your app’s signup flow await page.goto('https://yourapp.com/signup'); await page.fill('#phone-input', phoneNumber); await page.click('#send-otp'); // Wait for the OTP let otp; while (!otp) { const messages = await axios.get(`https://quackr.io/api/messages?phone=${phoneNumber}`, { headers: { 'Authorization': `Bearer ${process.env.API_KEY}` } }); const otpMessage = messages.data.find(msg => msg.body.includes('Your OTP is')); if (otpMessage) { otp = otpMessage.body.match(/\d{6}/)[0]; console.log(`Got OTP: ${otp}`); } else { console.log('Waiting for OTP...'); await new Promise(resolve => setTimeout(resolve, 2000)); } } // Enter the OTP and complete verification await page.fill('#otp-input', otp); await page.click('#verify-otp'); console.log('OTP verification done!'); await browser.close(); })();
Verwenden Sie eine .env-Datei für Ihre API-Schlüssel. Beispiel:
API_KEY=your_api_key_here
Sie können dieses Setup erweitern für:
Das kratzt nur an der Oberfläche. Die Automatisierung von OTPs kann viel Zeit sparen und dafür sorgen, dass sich Ihre Tests ausgefeilt anfühlen. Wenn Sie Ideen haben, um dies noch besser zu machen, würde ich sie gerne hören. Haben Sie coole Tricks für den Umgang mit OTPs? Schreiben Sie sie unten – lasst uns voneinander lernen!
Das obige ist der detaillierte Inhalt vonAutomatisieren Sie das Testen von Einmalkennwörtern (OTP): Ein einfacher Leitfaden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!