2011-05-16 4 views
2

저는 서버 측 및 자바 스크립트 프로그래머입니다. 나는 플래시로 많은 일을 해본 적이 없다.플래시 객체에서 "selectFiles"함수 호출에 대한 해결 방법

나는 플래시 기반의 swfuploader를 기반으로 한 견고한 HTML 양식을 가지고 있으며 Selenium 2/WebDriver로 테스트해야합니다.

movieContent.CallFunction('<invoke name="selectFiles" returntype="javascript">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>'); 

플래시 10에서 지원되지 않습니다

문제는 ... 우리가 어떻게해야 무엇

? 그것이 가능했던 경우 내가 js.executeScript(script);

하지만 지금 내 자바의 JUnit/셀레늄 테스트에서 movieContent.click()의 일종을해야 할 수 있지만 파일 선택 창을 트리거하지 않습니다, 그것은 아무것도하지 않습니다.

지정된 좌표에 마우스를 이동하고 MoveToOffsetAction를 사용하여 클릭 할 수 있습니다,하지만 난 FirefoxDriver도 chromeDriver 2.0b3 ...와

답변

0

이에 대한 보안 기능이라고 할 관리하지 않았다 웹 사이트가 로컬 클라이언트 측 파일 시스템에 액세스하는 것을 방지합니다. 파일 시스템이며 스택 추적에서 사용자 상호 작용을 통해서만 액세스 할 수 있습니다. IE : 마우스 클릭.
마우스를 제어하는 ​​것은 보안 위반이 될 수도 있습니다.
가장 좋은 방법은 onclick 이벤트로 플래시 기능에서 셀렌을 시작하는 것입니다.
이 함수는 먼저 업로드 할 "테스트"파일을 선택한 다음이 함수가 셀렌 테스트를 트리거하도록 허용합니다.

+1

내가 말했듯이, 나는 플래시를 사용한 적이 없으며 앞으로 가지 않을 것입니다. Java Webdriver 드라이버 일명 selenium 2를 사용하고 있습니다. Java JUNIT 테스트에서만 테스트를 시작할 수 있습니다. 참고 셀레늄 2로 마우스를 제어 할 수 있습니다. 셀레늄이 사용자 동작을 시뮬레이션 할 때 보안 위반은 어떻게 되는가? 그러면 모든 것이 보안 위반이 될 것입니다. 그렇지 않습니까? – lisak

+0

내가 언급 한 보안 위반은 플래시가 아닌 셀레늄과 관련이 있습니다. Flash는 마우스를 제어 할 수 없습니다. 셀레늄을 사용하고 마우스 동작을 모방 할 수 있는지 모르기 때문에 몇 년이 지났습니다. –

관련 문제