CasperJS et "Dangereux JavaScript tentative d'accès à une image avec l'URL' erreur

J'ai simple page avec du javascript qui valide e-mail écrit en entrée:

email.html:

<!DOCTYPE html>
<html>
    <head>
        <title>Email validation</title>
        <script src="email.js"></script>
    </head>
    <body>
        <span style="padding: 5px;">
            <input type="text" id="email-input" placeholder="Email..."></input>
        </span>
    </body>
</html>

email.js:

var checkEmail = function() {
    var regexp = /BIG_REGEX/;
    var email = document.getElementById('email-input').value;
    if (email === '') 
        removeFrame();
    else if (regexp.test(email))
        drawFrame('green');
    else
        drawFrame('red');
};

var removeFrame = function() {
    var input = document.getElementById('email-input');
    input.parentNode.style.backgroundColor = input.parentNode.parentNode.style.backgroundColor;
};

var drawFrame = function(color) {
    var input = document.getElementById('email-input');
    input.parentNode.style.backgroundColor = color;
};


window.onload = function() {
    document.getElementById('email-input').onkeyup = checkEmail;
};

Je veux tester la fonctionnalité de validation à l'aide de CasperJS. Voici mon cas de test:

test/validator.test.js:

var fillEmail = function(browser, email) {
    browser.sendKeys('#email-input', email, {reset: true});
};

var getValidation = function(browser) {
    var color = browser.evaluate(function () {
        return document.getElementById('email-input').parentNode.style.backgroundColor;
    });
    return color;
};

var validate = function(browser, email) {
    fillEmail(browser, email);
    return getValidation(browser);
};

casper.test.begin('Validation testing', function suite(test) {
    casper.start('http://localhost:8000/email.html', function() {
        test.assertEquals(validate(this, '[email protected]'), 'green', '[email protected]');
        test.assertEquals(validate(this, 'vnbgfjbndkjnv'), 'red', 'vnbgfjbndkjnv');
    }).run(function() {
        test.done();
    });

});

Mais quand je lance des tests à l'aide casperjs test test/validator.test.js, il y a toujours un message d'erreur après les informations sur les tests:

Unsafe JavaScript attempt to access frame with URL about:blank from frame with URL file:///C:/Users/home/AppData/Roaming/npm/node_modules/casperjs/bin/bootstrap.js. Domains, protocols and ports must match.

Quel est le problème?

PhantomJS version: 1.9.8

  • Avez-vous rétréci vers le bas la ligne qui en est la cause? Si non, ajouter un peu de console.journal et essayez de la réduire à une seule ligne.
  • Cette ligne est imprimée lors de l'essai de passage (après PASS 2 tests executed in 2.693s, 2 passed...)
  • 1.9.8
  • C'est à cause de certains changements qui a été introduit dans PhantomJS 1.9.8 et il y a un CasperJS question à ce sujet. Donc, this peut-être lié, mais depuis que cette erreur arrive lorsque le script terminé, je ne vois pas ce qui peut être fait.
  • Ok, cela arrive lorsque le script se termine. Je ne vois pas que tout ce qui peut être fait pour CasperJS pour supprimer ces avertissements. J'ai créé un GitHub question pour le PhantomJS problème.
InformationsquelleAutor michaeluskov | 2014-10-31