답변

1

window.onerror에 연결하기 위해 사용자 정의 JavaScript를 실행할 수 있습니다.

JavaScript로 데이터를 다시 Selenium으로 되돌릴 수는 있지만 오류에 대해 묻기 때문에 그렇게하지 않는 것이 좋습니다. 오류에 따라 오류로 인해 JavaScript가 손상되고 JavaScript가 반환되지 않을 수 있습니다.

더 강력한 방법은 JS에서 요청할 웹 처리기를 노출하는 서버를 만드는 것일 수 있습니다. 셀레늄 (오류가 발생하기 전에)에서 실행

그래서 JS는 다음과 같습니다

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(); 
}; 

그리고 거기에서

, 서버가 로깅 알아서 -, DB 등을 파일에 쓸 수 ..

+0

Hi Pat Meeker, 빠른 답장을 보내 주셔서 감사합니다 위의 FF 브라우저에만 작동하지만 IE와 Chrome 브라우저에서 작동하지 않습니다. IE 및 Chrome에서 JS를 처리하도록 나를 도울 수 있습니까 ??? – user2428471

+0

그것은 나를 위해 일하는 것 같습니다 ... 다양한 브라우저에서이 피들을 열어보십시오 : http://jsfiddle.net/YfXZU/3/ 아마도 ChromeDriver 및 IEDriver에 문제가 있습니다. Selenium 테스트가 해당 브라우저에서 정상적으로 실행될 수 있습니까? –

+0

'python -m SimpleHTTPServer 8080'을 사용하면 실제로 아무것도 기록하지 않고 직접 (디버깅을 위해) 오류를보고 싶다면 명령 줄에 간단한 HTTP 서버를 만들 수 있습니다. –

관련 문제