레이블이 Debugging인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Debugging인 게시물을 표시합니다. 모든 게시물 표시

2008년 6월 1일 일요일

IETester : IE 버전 별로 테스트하는 도구

IE 디버거인 IE debugger DebugBar를 만든 Jean-Fabrice RABAUTE씨가 IETester라는 솔루션을 공개했습니다. (from Ajaxian)
사용자 삽입 이미지

아직 버전이 0.2.2라서 아래의 문제점들을 가지고 있지만 IE 각 버전 별 테스트를 하나의 브라우져(또는 프로그램)안에서 실행할 수 있게 해주는 강력한 장점(Multiple IE도 지원이 되기는 합니다만... 예상치 못한 에러가 발생하여 종료되는 경우가 많이 있기는 합니다;;)을 가지고 있습니다.
  • 화면을 리사이징했을 때 화면이 사라지는 문제
  • 브라우져의 앞/뒤로 페이지 이동할 때 오동작하는 문제
  • 포커스가 적절히 동작하지 않는 문제
  • 자바 애플릿이 잘 동작하지 않는 문제
  • 플래시가 IE6에서 잘 동작하지 않는 문제
등을 가지고 있습니다.
사용자 삽입 이미지

테스트 시 상당히 유용하게 쓸 수 있는 도구인 것 같습니다. 아쉽게도 한글버전은 제공되지 않습니다.
각 버전은 탭 타이틀의 좌측에 파란색으로 써진 숫자가 버전을 의미합니다. 5.5, 6, 7, 8 beta1을 지원합니다.

사용자 삽입 이미지

Options > Internet Explorer Options를 누르면 IE의 옵션들을 설정하는 것도 가능합니다.

출처: IETester, Testing IE Versions Just Got a Little Easier via Ajaxian

2007년 3월 22일 목요일

Safari에서 디버깅하기

사용자 삽입 이미지

이전에 발생하였던 Safari의 버그를 무시무시한 alert으로 잡은 후에 (일단 급한 불은 꺼야겠죠.) Safari에서 디버깅은 어떻게하나 검색을 해보았습니다. 은 있더군요. (무식이 죄죠.. ^^;;)

먼저 터미널을 연다음에 "defaults write com.apple.Safari IncludeDebugMenu 1"를 터미널에 입력하고 엔터를 친 후, Safari를 다시 띄웁니다.

사용자 삽입 이미지

Safari를 다시 띄우면, Debug항목이 새로 추가된 것을 보실 수가 있습니다.

사용자 삽입 이미지

이 Debug항목을 누른 다음에 Show JavaScript Console을 클릭하시면 JavaScript Error Log를 아주 쉽게 보실 수가 있습니다. 이 외에도 DOM Tree등 여러 기능들을 제공하고 있으니 참고하시면 좋을 것 같습니다.

사용자 삽입 이미지


출처 :
Apple Developer Center - How do I debug JavaScript in Safari

P.S  How do I debug JavaScript in Safari에는 window.console을 이용하여서 JavaScript에러 이외에도 원하는 로그를 출력할 수 있는 방법이 소개되어 있으니 참고해보시는 것도 좋을 것 같습니다.

2007년 3월 21일 수요일

[JavaScript] Safari에서만 나는 에러

오늘 디버깅 작업을하고 있었는데, 특이한 문제가 Safari에서 발생했습니다.

<script type="text/javascript"src="prototype.js"></script>
<script type="text/javascript" type="text/javascript">
    var Sample = {
        testFunction: function testFunction(){
            alert("testFunction");
        }
    }

    function load(){
        Sample.testFunction();
    }
    Event.observe(window, "load", load);
</script>

이전에 php 페이지에서 사용되었던 testFunction 메소드를 Sample의 mtehod로 넣는 과정에서 function의 위치는 적절히 변경하였지만, function뒤의 testFunction을 삭제하지 않아서 발생한 버그입니다.

이러한 버그가 특이하게도 FirefoxIE에서는 정상 동작을 하는게 문제였습니다.
제가 사용하는 JSEclipse에서도 에러표시가 나지는 않더군요. 그러나, Safari에서는 에러가 나더군요.

그것도, 위와 같은 내용이 js파일에 포함되어 있는 경우 해당하는 js파일 자체를 레퍼런스할 수 없다고 나와버리더군요. 그래서 메소드 하나하나를 alert으로 추적해야하는 암울한 작업을 수행해야 했습니다.

Safari 테스트를 하실 때, js파일이 정상적으로 script태그로 썼는데도 불구하고 레퍼런스할 수 없다고 나오신다면 위의 케이스를 참고하셔서 소스 파일을 확인해보시는게 좋을 것 같습니다. ^^



P.S.1  저같은 경우에는 JavaScript로 개발을 할 때, Firefox는 Firebug와 Web Developer를 사용하고, IE에서는 Developer Toolbar를 사용하고 있습니다. Webkit에서는 Drosera를 사용하고 있구요.

P.S.2  이외에도 몇가지 문제가 발생했었는데요. id가 중복되는 경우 Firefox와 IE에서 에러는 발생하지 않는데요. Safari에서는 id 중복이 발생하는 경우 DOM hierarchy에 대한 에러 메시지를 출력합니다.