2010-06-08 3 views
0

Selenium IDEFCKeditor을 사용하는 웹 응용 프로그램을 테스트하고 싶습니다. 불행히도, FCKeditor는 Selenium IDE에서 테스트하기 어려운 iframe을 사용합니다. 기본적으로, 내가하고 싶은 것은 FCKeditor 편집 영역의 값을 설정하고 값이 올바르게 제출되었는지 나중에 읽는 것입니다.Selenium IDE를 사용하여 iframe 요소와 상호 작용할 수있는 좋은 방법은 무엇입니까?

이 질문은 두 가지로 생각됩니다. 먼저이 문제에 대한 FCKeditor 관련 솔루션을 제공하는 사람이 있습니까? 두 번째로, 셀레늄 IDE에서 테스트에 사용할 수있는 사용자 정의 Javascript 기능을 구현하는 좋은 방법을 알고 있습니까?

답변

1

나는 해결책을 내놓았다. Selenium IDE의 storeEval 메서드, storedVars 변수 및 익명 함수를 사용합니다. iframeactiveElement 속성도 이용합니다.

기본적으로, 나는 storeEval 메서드를 자바 스크립트로 호출하여 나중에 storedVars의 특정 요소를 나중에 인수로 사용할 함수로 설정합니다. 그게 셀레늄 IDE에 표시 할 방법이기 때문에 내가 일부러 그런 식으로 포맷 한

storedVars["setFCKeditorField"] = function (fieldName, value) {var iframe = this.browserbot.findElement("id="+fieldName+"___Frame"); var outerDocument = iframe.contentDocument; var innerDocument = outerDocument.activeElement.contentDocument; var textField = innerDocument.activeElement; textField.innerHTML = value;} 

, 나는 그것이 이상적 분명히 적은 다음 FCKeditor 예를 들어 인수가 될 것입니다. 나는 실제로 FCKEDITOR 필드의 값을 설정하려는 경우

그런 다음, 나중에, 그래서 같이 인수로 함수를 호출하는 자바 스크립트 다시 storeEval 전화 :

storedVars["setFCKeditorField"].call(this, "SU_ats_subscription_configuration_model[subscription_reminder_message]", "Subscription Expiring Message.<br/>"); 

이 작동하지만 더 좋은 방법이 있기를 바라고 있습니다. Selenium RC로 쉽게 만들 수 있습니까?

관련 문제