Répondre

1

Vous pouvez exécuter du code JavaScript personnalisé pour vous connecter à window.onerror.

Vous pouvez dire à votre JavaScript de retourner vos données à Selenium, mais comme vous posez des questions sur les erreurs, je vous suggère de ne pas le faire. Selon l'erreur, l'erreur pourrait casser JavaScript et pourrait l'empêcher de revenir.

Une manière plus robuste pourrait être de créer un serveur exposant un gestionnaire sur le web, à demander à votre JS.

Ainsi, votre JS à exécuter à partir Sélénium (avant que les erreurs se produisent) pourrait ressembler à ceci:

window.onerror = function(message, file, line) { 
    var asyncHR = new XMLHttpRequest(); 
    var URL = "https://www.yourserver.com/errorlogger?file=" + file + "&line=" + line + "&message=" + message; 
    asyncHR.open("GET", URL, true); 
    asyncHR.send(); 
}; 

Et à partir de là, que le serveur prend en charge l'enregistrement - écrire dans le fichier, DB, etc. ..

+0

Salut Pat Meeker, Merci pour votre réponse rapide ce qui précède fonctionne uniquement pour le navigateur FF, mais il ne fonctionne pas pour les navigateurs IE et Chrome. pourriez-vous s'il vous plaît m'aider à gérer ces JS sur IE et Chrome ??? – user2428471

+0

Il semble fonctionner pour moi ... Essayez d'ouvrir ce violon dans vos différents navigateurs: http://jsfiddle.net/YfXZU/3/ Il y a peut-être un problème avec votre ChromeDriver et votre IEDriver. Vos tests Selenium sont-ils capables de fonctionner correctement dans ces navigateurs? –

+0

Vous pouvez utiliser 'python -m SimpleHTTPServer 8080' pour créer un serveur HTTP simple sur la ligne de commande si vous voulez juste voir les erreurs pour vous-même (pour le débogage) sans rien enregistrer. –

Questions connexes