嗨各位好久不见xDD
今天想来做个简单的分享(顺便看能不能开始回复正常学习写文章的习惯...咳嗯...),
由於这两天收到朋友 Gary
来问我说,
在跑自动化测试过程中因为注册和登入等等的需要收简讯的验证码,
可是我总不能每次跑自动化的测试时,
总是手动待命在手机旁然後输入完再让测试继续跑下去吧?
听起来根本就是半自动化测试对吧?
先厘清需求
Twillio 帐号注册申请的部分我就不一一赘述,
如果你刚好又很巧没有帐号,
又刚好看到我的文章想玩玩看可以顺便帮我赚一点测试的费用。
我的推荐连结
他有免费额度可以让你玩所以在意要花钱的同学就可以放心。(但我忘记是多少美金了xDD)
注册好之後我们就开始手把手教学罗~
选择国家、条件、号码
注意: 有些国家不支援 SMS 的部分所以请选择你需要的功能可以勾选的国家
如图所示以收简讯为例我是选加拿大~
接着你应该就可以看到在 Active Numbers 页面看到你购买的号码
透过官方给的范例直接无痛使用~
我这边用我比较熟悉的 node.js
作为范例,
(如果有其他的语言可以自行选用~)
const accountSid = process.env.TWILIO_ACCOUNT_SID;
const authToken = process.env.TWILIO_AUTH_TOKEN;
const client = require('twilio')(accountSid, authToken);
client.messages.list({limit: 20})
.then(messages => messages.forEach(m => console.log(m.body)));
会发现上面需要两个东西 TWILIO_ACCOUNT_SID
和 TWILIO_AUTH_TOKEN
,
打开个人 console 页面
给他复制起来~
看要用 command 去 export
的方式或是直接贴进去就看你需求,
接着就是看你如何处理拿回来的资料,
以下是官方给的 json response 范例
就可以从 messages
里头的 date_sent
去做 filter。
{
"end": 1,
"first_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",
"next_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=1&PageToken=PAMMc26223853f8c46b4ab7dfaa6abba0a26",
"page": 0,
"page_size": 2,
"previous_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json?To=%2B123456789&From=%2B987654321&DateSent%3E=2008-01-02&PageSize=2&Page=0",
"messages": [
{
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
"api_version": "2010-04-01",
"body": "testing",
"date_created": "Fri, 24 May 2019 17:44:46 +0000",
"date_sent": "Fri, 24 May 2019 17:44:50 +0000",
"date_updated": "Fri, 24 May 2019 17:44:50 +0000",
"direction": "outbound-api",
"error_code": null,
"error_message": null,
"from": "+12019235161",
"messaging_service_sid": null,
"num_media": "0",
"num_segments": "1",
"price": "-0.00750",
"price_unit": "USD",
"sid": "SMded05904ccb347238880ca9264e8fe1c",
"status": "sent",
"subresource_uris": {
"media": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c/Media.json",
"feedback": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c/Feedback.json"
},
"to": "+18182008801",
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages/SMded05904ccb347238880ca9264e8fe1c.json"
},
...
}
接着就是改起来~
const accountSid = "<your accountSid>";
const authToken = "<your authToken>";
const client = require('twilio')(accountSid, authToken);
const myDate = new Date('2021-08-27'); // 指定日期
client.messages.list({limit: 20})
.then(messages => messages.filter(m => m.dateSent < myDate)) // 过滤 2021-08-27 以後的讯息
.then(messages=> messages.forEach(m => console.log(m.dateSent, m.body))); // 印出简讯内容
实际成果~
很简单吧xD !?
以上是今天的分享希望对你有需求的你有帮助。
https://www.twilio.com/docs/sms/tutorials/how-to-retrieve-and-modify-message-history
<<: 截取Video画面,存成一张张图片Python cv2
>>: 开源的WebPC让你使用浏览器远程控制 linux or windows
Stop gninnipS My sdroW! 等级:6kyu 原始题目 Write a funct...
axios axios 是处理 AJAX 的套件,是透过 JavaScript Day19 - AJ...
就是不爱PublicIP之Private Endpoint 很实用的技术实作文,值得让更多需要的人知...
今日题目 题目连结:747. Largest Number At Least Twice of Ot...
今日学习目标 了解 K-Fold 各种不同变形 K-Fold Cross-Validation Ne...