casperjs测试注册表形式
casperjs test register form
我的页面中有一个表单,供想要在网站内注册的用户使用。注册后,我将用户插入数据库,创建一个激活密钥并发送一封电子邮件,直到用户没有用激活密钥点击电子邮件中的链接,他才能登录到网站内。
使用CasperJS,我想测试这个功能,fillForm可以,但我如何测试激活密钥?
我想创建一个用激活键隐藏的输入(只有在TEST模式下,而不是在生产中!),并用getFieldValue
函数检索这个值。
这是正确的方法还是有更好的模式?
这是我的casperjs测试,用于在注册后检索激活密钥(我创建了一个用激活码隐藏的输入):
view = 'users/registered';
casper
.start(webroot + view)
.then(function() {
__utils__.log("Retrieving data from input activation-key");
activationKey = __utils__.getFieldValue('activation-key');
}).then(function() {
__utils__.log("Activating account with the key " + activationKey);
}).then(function(){
this.evaluate(function() {
__utils__.log("Activating account with the key " + activationKey);
window.location = webroot + 'users/activate/' + activationKey;
});
}).then(function(){
this.echo(this.getCurrentUrl());
});
casper.run(function() {
this.echo('test registeration successful!').exit();
});
casper.viewport(page.width, page.height);
casper.test.done();
我成功地完成了我想要的注册,它可以帮助你:CasperJS-在网站上注册并验证在Gmail上发送的邮件-对于苗条和幻影-
在我用激活码进行一些抓取之前,为了手动激活(纯JS,这里没有jQuery,我不想在gmailDOM环境中注入jQuery):
this.waitForSelector("div.msg",function(){
this.test.assertSelectorHasText("a","Activation message");
//var code declared in the main scope
code = this.evaluate(function(){
var strongs = document.getElementsByTagName('strong')
,i
,l = strongs.length
;
for (i = 0; i < l; ++i) {
if(strongs[i].textContent === "activation code:"){
//get back the code in DOM context -> split to get back only what I want
return (strongs[i].parentNode.textContent.split(' ')[2]);
}
}
});
this.echo("code : " + code,"INFO");
});
相关文章:
- 可以'我无法提交AJAX注册表
- 如何从npm注册表中删除npm包
- 扩展如何读取注册表
- 流星 - 添加带有熨斗的路由后无法提交用户.路由器到登录和注册表单
- 单击按钮时切换html登录/注册表单
- Bookshelf注册表插件和节点循环依赖性错误
- 在注册表单上,表单字段不会保存在提交时自动填充的浏览器中.(ReactJs)
- 我正在尝试使用jqueryValidation引擎插件验证注册表单,有些验证无法正常工作
- 如何阻止浏览器要求在注册表单中保存电子邮件和密码
- 我试图使用引导模式类来制作一个弹出注册表单,但弹出没有'不起作用
- 通过注册表安装的Firefox插件是否可以使用updateURL
- 使用 Ajax、Jquery 或 JavaScript 在注册表单中添加验证码
- REST 服务未注册表单数据
- JavaScript/jQuery分步注册表单
- 提交注册表和 Java servlet
- 在多步骤注册表中使用反应路由器时出错
- 创建注册表单,并将文件上传(图像)从 ajax 发送到服务器端 (C#)
- 注册表未正确连接到 MySQL
- 使用. tohavebeencalledwith的Jasmine测试对注册表单失败
- casperjs测试注册表形式