测试一次性密码 (OTP) 可能会很痛苦,对吗?不断地在您的应用程序和短信收件箱之间切换、寻找代码......现在是我们解决这个问题的时候了。让我们来谈谈使用完成工作的工具来自动化整个过程。是的,我们也会使用临时电话号码,但我们会保持冷静并专注于您的开发工作流程的真正价值。
以下是如何使用 Playwright、Puppeteer、Selenium 等工具和一点创造力来升级 OTP 游戏。无论您的堆栈如何,您都会在这里找到一些有价值的东西。
以编程方式获取一些临时电话号码,通过 API 获取 OTP,然后将其余部分自动化。不再有来回,不再有戏剧性。在冲刺评审期间,您会看起来像个巫师。
有很多提供临时电话号码的服务,那么为什么选择 Quackr.io?交易如下:
我们使用了 Quackr.io,因为它满足了所有这些要求。欢迎您尝试其他产品,但如果您正在寻找可靠的东西,Quackr.io 是一个很好的起点。
以下是构建 OTP 自动化脚本的方法。将其视为起点 - 让它成为您的起点。
首先,注册提供临时电话号码的服务(我们使用的是 Quackr.io)。获取您的 API 密钥,然后开始吧。
如果您正在使用 Node.js,您将需要一些包:
npm install playwright axios dotenv
这是一个使用 Playwright 和 Axios 的示例。请随意根据您的设置进行调整。
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(); })();
使用 .env 文件作为您的 API 密钥。示例:
API_KEY=your_api_key_here
您可以将此设置扩展到:
这只是表面现象。自动化 OTP 可以节省大量时间,并使您的测试感觉更加完美。如果您有让这一切变得更好的想法,我很想听听。有处理 OTP 的酷技巧吗?把它们放在下面——让我们互相学习!
以上是自动化一次性密码 (OTP) 测试:一份休闲指南的详细内容。更多信息请关注PHP中文网其他相关文章!