我需要测试一个量角器测试用例,在该用例中,用户注册,接收电子邮件,转到电子邮件中提供的链接,并在激活注册表单中填写他/她的详细信息。
问题是如何从电子邮件中获取兑换令牌。我的电子邮件具有指向激活页面的链接,该页面具有auth令牌,如下所示:
http://127.0.0.1:3000/#/signup/redeem/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqdGkiOiJlOTRhYzY3MC1kYTNlLTQyYTUtODVkZS02NDU4ZjVmZGMwYjAiLCJzdWIiOiJ0ZXN0QGNvZWYuY28iLCJpYXQiOjE0Mjc0OTM5MDMsImV4cCI6MTQyODA5ODcwM30.
但是,如何获取该令牌以便构建URL或如何单击电子邮件中的该按钮以完成流程?我正在使用mailcatcher模拟电子邮件。
这是我最近解决的问题。希望该解决方案也适用于您的用例。
先决条件:
mail-listener2
包promises
分步说明:
mail-listener2
: npm install mail-listener2 --save-dev
onPrepare: function () {
var MailListener = require("mail-listener2");
// here goes your email connection configuration
var mailListener = new MailListener({
username: "imap-username",
password: "imap-password",
host: "imap-host",
port: 993, // imap port
tls: true,
tlsOptions: { rejectUnauthorized: false },
mailbox: "INBOX", // mailbox to monitor
searchFilter: ["UNSEEN", "FLAGGED"], // the search filter being used after an IDLE notification has been retrieved
markSeen: true, // all fetched email willbe marked as seen and not fetched next time
fetchUnreadOnStart: true, // use it only if you want to get all unread email on lib start. Default is `false`,
mailParserOptions: {streamAttachments: true}, // options to be passed to mailParser lib.
attachments: true, // download attachments as they are encountered to the project directory
attachmentOptions: { directory: "attachments/" } // specify a download directory for attachments
});
mailListener.start();
mailListener.on("server:connected", function(){
console.log("Mail listener initialized");
});
global.mailListener = mailListener;
}),
onCleanUp: function () {
mailListener.stop();
},
getLastEmail()
函数,该函数将等待email
检索到: function getLastEmail() {
var deferred = protractor.promise.defer();
console.log("Waiting for an email...");
mailListener.on("mail", function(mail){
deferred.fulfill(mail);
});
return deferred.promise;
};
describe("Sample test case", function () {
beforeEach(function () {
browser.get("/#login");
browser.waitForAngular();
});
it("should login with a registration code sent to an email", function () {
element(by.id("username")).sendKeys("MyUserName");
element(by.id("password")).sendKeys("MyPassword");
element(by.id("loginButton")).click();
browser.controlFlow().await(getLastEmail()).then(function (email) {
expect(email.subject).toEqual("New Registration Code");
expect(email.headers.to).toEqual("myemail@email.com");
// extract registration code from the email message
var pattern = /Registration code is: (\w+)/g;
var regCode = pattern.exec(email.text)[1];
console.log(regCode);
});
});
});
我正在尝试从GitHub获取一个用户的电子邮件地址,我只是在使用Postman测试过程。我有一个令牌,它有user和user:email作用域,点击https://api.github.com/user可以得到用户的信息。私人电子邮件在该endpoint不可见,所以我也点击https://api.github.com/user/emails。电子邮件endpoint给了我一个404。 与404一起
在Jenkins作业配置中,我在构建部分的命令窗口中编写了一个bat脚本。在其中一个脚本命令中,我将环境变量设置为服务器计算机中的系统环境变量,如下所示: 我现在的任务是将这个环境变量值返回给Jenkins,并将其包含在我的构建后通知电子邮件内容中。有简单的方法吗? 在我的研究中,我遇到了插件envInject,但我认为它用于设置环境变量,对吗? 更新1: 事实证明,该变量可以通过电子邮件内容中的
我一直试图获取电子邮件正文与imap_fetchbody($stream,$msgno,$选项),但没有成功。 然后我尝试使用imap_fetchstructure($stream,$msgno),并使用各自的子类型手动解码每种类型,如:- 对于前两个,我可以用这样的东西来解码 但说到混合,我要么不知道,要么我该怎么办,要么我在哪里犯错。
在上一章中,我们学习了如何查看电子邮件。 现在让我们看看如何获取每封电子邮件并阅读其内容。 让我们编写一个Java类FetchingEmail ,它将读取以下类型的电子邮件: 简单邮件 电子邮件附件 使用内联图片发送电子邮件 代码中遵循的基本步骤如下: 获取Session对象。 创建POP3商店对象并连接到商店。 创建文件夹对象并在邮箱中打开相应的文件夹。 检索邮件。 分别关闭文件夹和存储对象
我正在使用Angular 9、Node v14和e2e测试,使用Cucumber、量角器和量角器Cucumber框架。 量角器。conf.js tsconfig。e2e。json 发射json package.json 我可以在VSCode中启动调试器,但问题是每个断点都是未绑定的断点。 我还尝试在tsconfig中添加。e2e。json和我也尝试加入launch。json 问题似乎是ts节点在内
我正在尝试通过AngularFire和A使用Firebase实现一些简单的使用注册ngular.js.我正在使用SimpleLogin工具来管理用户。我可以很好地创建用户。 很有魅力。为了在用户登录时获取此信息,我尝试在$rootscope上实现一个事件处理程序。我希望它搜索我存储的uid,然后给我记录正确的用户信息。 为了使用start At和endAt,我是否必须建立$优先级。当我尝试时,我得