0

テストを実行するコードを書いていて、結果が特定の方法で戻ってきたら、自分にメールを送信したいと思います。

残念ながら、DalekJS が私のコードを実行するたびに、電子メール機能をスキップしているようです。

私のコードは次のようになります。セキュリティ上の理由から、ログインしてサイトを開く部分はスキップしています。その部分はすべて正常に機能します。コードは test.wait(15000) でハングします。

これは必要なコードですvar emailjs = require('./seeifemail');

test.click('#header_navbar_account_landers')
test.wait(15000)
test.execute(function() {
    if ($('#select2-chosen-6').text() != "United States of America") {
      $('#select2-chosen-6').text("United States of America")
      $('#select2-chosen-6').change()
    }
    })
    var msgCnt = parseInt($('.loaded-total').text(), 10);
    if (msgCnt > 0) {
      emailjs.magicFn
      return 'done'

    } else {
      alert('it didn\'t work')
      return 'done'
    }

  test.wait(20000)
  test.done();

これがseeifemailの外観です。

var email = require('emailjs/email');
var server = email.server.connect({
user: "username",
password: "password",
host: "smtp.gmail.com",
ssl: true
});

 module.exports = {
 magicFn: function() {


server.send({
  text: "i hope this works",
  from: "you <username@your-email.com>",
  to: "email@email.com",
  cc: "else <else@your-email.com>",
  subject: "testing emailjs"
}, function(err, message) {
  console.log(err || message);
});

高度なご協力ありがとうございます。

4

1 に答える 1

0

私のコメントについて詳しく説明します:おそらく、アプリが終了するまで待つ必要があるserver.send()かもしれません:return

test.click('#header_navbar_account_landers');
test.wait(15000);
test.execute(function() {
  if ($('#select2-chosen-6').text() != "United States of America") {
    $('#select2-chosen-6').text("United States of America");
    $('#select2-chosen-6').change();
  }
});
var msgCnt = parseInt($('.loaded-total').text(), 10);
if (msgCnt > 0) {
  emailjs.magicFn(function(err, message) {
    return 'done';
  });

} else {
  alert('it didn\'t work');
  return 'done';
}
test.wait(20000);
test.done();

その後:

var email = require('emailjs/email');
var server = email.server.connect({
  user: "username",
  password: "password",
  host: "smtp.gmail.com",
  ssl: true
});

module.exports = {
  magicFn: function(callback) {
    server.send({
      text: "i hope this works",
      from: "you <username@your-email.com>",
      to: "email@email.com",
      cc: "else <else@your-email.com>",
      subject: "testing emailjs"
    }, callback);
  }
};
于 2016-01-04T20:42:43.707 に答える