Advertisement
Guest User

Untitled

a guest
Jun 5th, 2017
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.30 KB | None | 0 0
  1. var newman = require('newman'); // require newman in your project
  2. var nodemailer = require('nodemailer');
  3. var fs = require('fs');
  4.  
  5. var export_file = './htmlResults_for_mail.html';
  6. var collection_file = './postman_echo.postman_collection.json';
  7. // call newman.run to pass `options` object and wait for callback
  8. newman.run({
  9. collection: require(collection_file),
  10. reporters: ['cli','html'],
  11. reporter : { html : { export : export_file,template: './template.hbs'} }
  12. }, function (err,summary) {
  13. if (err) { throw err; }
  14. console.log('collection run complete!');
  15. console.dir(summary);
  16.  
  17. var network_total = summary['run']['stats']['requests']['total'];
  18. var network_failed = summary['run']['stats']['requests']['failed'];
  19. var network_success = network_total - network_failed;
  20.  
  21. var unit_total = summary['run']['stats']['assertions']['total'];
  22. var unit_failed = summary['run']['stats']['assertions']['failed'];
  23. var unit_success = unit_total - unit_failed;
  24. var stats = "网络请求"+network_total+"次,成功"+network_success+"次,失败"+network_failed+"次。\n共执行单元测试"+unit_total+"次,成功"+unit_success+"次,失败"+unit_failed+"次";
  25.  
  26. if(network_failed>0 || unit_failed > 0){
  27. console.log("Something Is WRONG");
  28. var tracelog = JSON.stringify(summary['run']['failures'], null, 2);
  29. send(stats,tracelog);
  30. }else{
  31. console.log("Everything Is OK");
  32. }
  33. });
  34.  
  35. function send(sub,tracelog){
  36. var transporter = nodemailer.createTransport({
  37. service: "QQex|Gmail",
  38. auth: {
  39. user: "---发件人邮箱---",
  40. pass: "---发件人邮箱密码---"
  41. }
  42. });
  43.  
  44. var html = fs.readFileSync(export_file);
  45. var to = '---收件人地址---';
  46. var mailOptions = {
  47. from: "---发件人邮箱地址---",
  48. to: to,
  49. subject: "冒烟测试问题报告:"+sub,
  50. html:html,
  51. attachments:[{
  52. filename:'results.html',
  53. path: export_file,
  54. contentType: 'text/html'
  55. },
  56. {
  57. filename: 'tracelog.txt',
  58. content: tracelog,
  59. contentType: 'text/plain'
  60. }
  61. ],
  62. };
  63.  
  64. transporter.sendMail(mailOptions, function(error, info) {
  65. if (error) {
  66. throw error;
  67. } else {
  68. fn();
  69. }
  70. });
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement