2013-09-01 5 views
0

Selenium 확장 기능을 개발할 때 올바른 장애 처리를 스크립팅했습니다. 불행히도 IDE에서 이러한 명령을 하나씩 실행하고 각 오류 메시지를 수동으로 검사해야합니다. 내가하고 싶은 일은 의도적으로 주어진 방법으로 실패한 각 명령 앞에 삽입 할 수있는 맞춤 셀렌 명령을 정의하는 것이다. 예 : willFail | expected-error-text. 즉Selenium 오류를 어떻게 가로 챌 수 있습니까?

, 나는 다음 명령은 주어진 오류 메시지가 발생하는 경우, 결과는 성공이되도록 셀레늄 명령 완료 동작을 변경하고자하고 스크립트가 계속됩니다. 그러나 성공하거나 다른 오류가 발생하면 스크립트는 오류로 중지합니다.

나는이 관찰자 기능 (들)을 설정, 및/또는 셀레늄 기능 (들)을 차단하는 것을 포함한다 상상한다. 문제는 다음과 같습니다.

  • 초기화를 수행하는 방법과 위치. 관련 Selenium 객체를 찾기가 어려울 수 있습니다.
  • 결과를 변경하기 위해 반환 할 내용 /시기.
  • 결과를 변경하여 동기화되지 않은 항목이 있습니까?

PowerDebugger 확장을 사용하면 오류가 발생하면 IDE를 일시 중지 한 다음 다시 시작할 수 있습니다. 그래서 how-to가 어딘가에 있다고 생각합니다. 하지만 셀레늄 명령 처리에 어떻게 연결되는지 알 수는 없습니다. 사미트 바틀, 밖에 있니?

내가 셀레늄 IDE 2.2.0을 사용하고 있습니다.

일부 실험으로

답변

0

나는 기능 TestLoop.resume() 각 명령의 결과를 결정할 책임이 있음을 발견했다. chrome/content/selenium-core/scripts/selenium-executionloop.js에 정의되어 있습니다. 이 함수는 명령을 실행하고 스크립트를 중지하거나 계속 허용합니다.

이 동작을 변경하려면 Selenium 확장 기능이 일시적으로이 기능을 사용자 지정 버전으로 바꿀 수 있습니다. 이를 수행하려면 editor.selDebugger.runner.IDETestLoop.prototype.resume이라는 참조를 저장하고 사용자 정의 함수로 바꾸십시오. 그런 다음 사용자 지정 함수는 네이티브 함수를 복원하고 적절하게 명령을 실행해야합니다.

+0

는 I 시도/캐치의 형태 [SelBlocks 2.0 (https://addons.mozilla.org/en-US/firefox/addon/selenium-ide-sel-blocks/versions/)에이 기술을 도입 한/마침내 지원. –