8.告警邮件
#下载依赖
npm install nodemailer --save
#编写邮件发送参数
// 引入依赖
var nodemailer = require("nodemailer")
// 定义发送邮件参数
var transport = nodemailer.createTransport({
//主机
host: "smtp.163.com",
// 是否使用SSL
secureConnection: true,
// SMTP端口号
port: 465,
// 发件人
auth: {
// 发送邮箱
user: "@163.com",
// 授权码
pass: "",
}
})
// 定义收件邮箱参数
var mailOptions = {
// 邮件昵称
from: "",
// 收件邮箱
to: "",
// 邮件标题
subject: "码云自动化测试告警邮件",
// 邮件内容
text: "hello",
}
9.执行失败进行告警(手动)
#进行判断,如果失败了就发送告警邮件
// 点击登录按钮
//I.click({css:'button, [type="submit"]'})
let login = await tryTo(() => I.click({css: 'button, [type="submit"]'}));
//如果失败
if (!login) {
// 设置告警内容
mailOptions.text = "登录失败,详细信息请查看";
// 发送告警邮件
transport.sendMail(mailOptions, function(err, response) {
if (err) {
console.log(err);
} else {
console.log(response);
}
})
}
// 跳转码云开源软件页
//I.click(SELECTORS.kyrj);
let clickGoTo = await tryTo(() => I.click(SELECTORS.kyrj));
//如果失败
if (!clickGoTo) {
// 设置告警内容
mailOptions.text = "跳转失败,详细信息请查看";
// 发送告警邮件
transport.sendMail(mailOptions, function(err, response) {
if (err) {
console.log(err);
} else {
console.log(response);
}
})
}
//截图
I.saveScreenshot("logintest.jpg")
10.执行失败进行告警(自动)
#安装测试报告生成依赖
npm i mocha -D
#安装测试报告依赖
npm i mochawesome
#安装压缩依赖
npm install adm-zip
#在codecept.conf.js配置类中添加报告参数
mocha: {
reporterOptions: {
reportDir: "./output/report"
}
}
#引入监听器依赖与zip打包依赖
// 引入监听器依赖
const { event } = require('codeceptjs');
// 引入zip打包依赖
var adm_zip = require('adm-zip');
#修改邮件配置支持附件
// 定义收件邮箱参数
var mailOptions = {
// 邮件昵称
from: "@163.com",
// 收件邮箱
to: "@163.com",
// 邮件标题
subject: "",
// 邮件内容
text: "hello",
attachments: [
{
filename: "测试报告.zip",
path: "./output/report.zip"
}
]
}
#配置监听器
//监听一旦出错,执行告警 测试失败时同步
event.dispatcher.on(event.test.failed, (testOrSuite) => {
//因为是失败同步执行,所以有可能报告没有生成好,所以睡5秒
setTimeout(function() {
//创建zip压缩包
var zip = new adm_zip();
zip.addLocalFolder('./output/report');
zip.writeZip('./output/report.zip');
console.log('--- I am before test --');
console.log(testOrSuite);
//测试发生错误进行邮件告警
// 设置告警内容
mailOptions.text = "自动执行测试脚本时发生错误,具体错误报告请查看附件";
// 设置告警标题
mailOptions.subject = testOrSuite.title;
//发送邮件告警
transport.sendMail(mailOptions, function(err, response){
if(err){
console.log(err);
}else{
console.log(response);
}
})
}, 5000);
});
#输入启动命令
npx codeceptjs run --reporter mochawesome
#如果执行失败就会收到对应的告警邮件。
#解压测试报告.zip
#打开html类型的报告即可查看详细错误信息。
比较基本的前端自动化就告一段落了, 后面可以根据需要深入学习下,另外Codecept.js是支持移动端自动化测试,与数据Moke测试的,有兴趣的小伙伴可以深入了解下。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理