플래시 테스트 Selenium 웹드라이버

⚡ 스마트 요약

플래시 테스트 Selenium WebDriver는 Flash 기반 비디오, 게임 및 애니메이션이 올바르게 작동하는지 확인합니다. 이 자료에서는 내장된 SWF 객체를 캡처하고, 객체 ID를 할당하고, WebDriver를 사용하여 재생을 자동화하는 방법을 설명합니다. Selenium IDE 녹화 및 FlashObjectWebDriver 클래스를 사용하여 안정적인 유효성 검사를 수행합니다.

  • 📌 핵심 목적: 플래시 테스트는 내장된 SWF 미디어(비디오, 게임, 애니메이션)가 설계된 대로 정확하게 작동하는지 검증합니다.
  • 🔎 위치 찾기 챌린지: XPath는 Flash 객체에 접근할 수 없으므로, 전용 FlashObjectWebDriver 객체가 할당된 객체 ID를 통해 Flash 객체를 찾습니다.
  • 🎬 기록 방법 : Selenium IDE는 플래시 무비에서 수행된 작업을 기록하고 녹색 실행 버튼을 눌러 다시 재생합니다.
  • 💻 WebDriver 메서드: FlashObjectWebDriver 클래스는 Play, StopPlay 및 SetVariable을 호출하여 Flash를 프로그래밍 방식으로 제어합니다.
  • ⚠️ 주요 제한 사항: Flash는 더 이상 사용되지 않습니다. FlexMonkium은 이를 확장합니다. Selenium 네이티브 녹음 및 재생이 실패할 때 IDE를 사용합니다.

플래시 테스트 Selenium 웹드라이버

플래시 테스트란 무엇입니까?

플래시 테스트는 플래시 기반 비디오, 게임, 영화 등이 예상대로 작동하는지 확인하는 데 사용되는 테스트 유형입니다. 다시 말해, 플래시의 기능을 테스트하는 것을 플래시 테스트라고 합니다. 플래시 테스트. Flash는 Macromedia(현재 Adobe에 인수됨)에서 개발한 인기 있는 소프트웨어입니다. 게임, 애플리케이션, 그래픽 기반 애니메이션, 영화 등을 개발하는 데 사용됩니다. 모바일 게임, 프로그램 등

In Selenium 자동화(일반 로케이터로 요소를 찾을 수 없는 경우) ID, 클래스, 이름 등과 같은다음, xpath 웹 페이지에서 특정 요소를 찾아 그 요소에 대한 작업을 수행하려면 해당 요소를 찾아야 합니다. 하지만 플래시 테스트에서는 그렇지 않습니다. xpath 플래시 객체에 접근하는 데 실패했습니다. 따라서 어떤 애플리케이션에서든 플래시 객체를 찾으려면 Flashwebdriver 객체가 필요합니다.

플래시 테스트

플래시를 실행하는 방법을 살펴보겠습니다. 지원 플래시 테스트를 수행하는 방법 Selenium.

플래시 테스트를 위한 전제조건

시작하기 전에 플래시 애플리케이션 테스트를 위해 필요한 사항은 다음과 같습니다.

  1. 플래시 응용 프로그램.
  2. 지원되는 웹 브라우저.
  3. Adobe Flash 플레이어 플러그인.

도구- 다음은 플래시 테스트에 유용한 테스트 도구입니다.

  1. Selenium
  2. 비누 UI
  3. TestComplete
  4. 테스트 스튜디오 등

Selenium 웹 테스트에 매우 인기 있는 도구입니다. 다양한 플랫폼과 언어로 프레임워크를 구축할 수 있습니다. 오픈 소스 도구이며 공식 웹사이트에서 다운로드할 수 있습니다. 설정, 사용 및 구현이 간편합니다.

플래시 테스트가 다른 요소와 어떻게 다른가

이제 필요한 준비가 완료되었으므로, 테스트 중에 플래시가 표준 HTML 요소와 다르게 동작하는 이유를 이해하는 것이 도움이 됩니다.

  • 플래시를 사용해도 물체를 촬영하기 어려운 이유는 무엇일까요? 어떻게 해결할 수 있을까요?

플래시는 구식 기술입니다. 플래시 객체는 HTML과 다르기 때문에 캡처하기 어렵습니다. 또한 플래시는 SWF(Small Web Format) 파일 형태로 제공됩니다. 모바일 기기에서 플래시 객체에 접근하는 것도 어렵습니다.

개발ping 플래시 촬영은 현상보다 어렵습니다.ping SEO(검색 엔진 최적화) 관점에서 HTML 페이지는 플래시를 검색 엔진이 완전히 읽을 수 없기 때문에 적합하지 않습니다. 하지만 HTML 5와 같은 고급 기술은 성능 및 보안과 같은 문제를 해결하기 위해 도입되었습니다.

  • 플래시 애플리케이션은 어떤 방식으로 테스트됩니까?

Flash 응용 프로그램은 두 가지 방법으로 테스트됩니다.

  • 핸드북- 테스트가 간단하고 쉽기 때문에 수동으로 테스트 사례를 실행하여 Flash 개체를 테스트할 수 있습니다. 버그 수정 후 플래시가 예상대로 제대로 작동하는지 확인하고 승인을 제공합니다.
  • 자동화 – 자동화 도구를 사용하여 스크립트를 작성합니다. Selenium, SoapUI, TestComplete등등을 입력하고 스크립트를 실행합니다.
  • 플래시와 다른 요소들의 차이점.

위에서 언급했듯이 플래시와 다른 요소들의 주요 차이점은 플래시는 SWF 파일에 포함되는 반면, 다른 요소들은 HTML 파일에 포함된다는 점입니다. 이것이 바로 플래시에 비해 HTML을 캡처하기가 더 쉬운 이유입니다.

플래시 무비/플래시 앱의 플래시 객체 ID를 어떻게 얻을 수 있나요?

플래시와 HTML의 차이점을 이해했다면, 다음 단계는 객체 ID를 통해 플래시 객체 자체를 찾는 것입니다.

웹 페이지에서 <object> 태그는 플래시, 액티브엑스, 비디오 등과 같은 멀티미디어 콘텐츠를 삽입하는 데 사용됩니다. 이 태그는 HTML 문서 내에 "삽입"한다는 의미를 내포합니다. <object> 태그는 <object /> 또는 <embed /> 태그 내에 삽입되어 대화형 콘텐츠 또는 외부 애플리케이션을 담는 컨테이너를 정의합니다. 객체 이름은 웹 페이지에서 플래시 객체를 찾는 데 사용됩니다.

예를 들어, 아래 예시에서 볼 수 있듯이 플래시 무비는 HTML 문서 또는 파일의 "embed" 태그 안에 정의되어 있습니다.

예:

/* Html page*/
<html>
<body marginwidth="0" marginheight="0">
<embed width="100%" height="100%" name="plugin" src="http://video/movie_play.swf" type="application/flash"/>
</body>
</html>

객체 ID를 사용하여 플래시 요소를 찾습니다.

객체 ID와 같은 플래시 속성을 사용하여 플래시 객체를 찾을 수 있습니다. 그리고 필요에 따라 재생, 중지 등과 같은 작업을 수행할 수 있습니다.

앞서 설명했듯이 Flash 객체는 XPath를 사용하여 접근할 수 없습니다. 따라서 이러한 객체에 대한 작업을 수행하려면 개발자가 적절한 객체 ID를 할당해야 합니다.

아래 화면은 플래시에 "MyFlashMovie"라는 객체 ID가 할당되었음을 보여줍니다.

Flash 무비/Flash 앱의 Flash 개체 ID

다음을 사용하여 Flash를 자동화하는 방법 Selenium IDE 녹음

객체 ID가 할당되면 플래시 무비에서 직접 상호 작용을 기록할 수 있습니다. Selenium IDE.

다음을 사용하여 플래시를 자동화할 수도 있습니다. Selenium IDE.

단계 1) 플래시 애플리케이션을 열고 나서 Selenium 아래 화면에 표시된 IDE:

다음을 사용하여 플래시를 자동화합니다. Selenium IDE 녹음

단계 2) 이제 오른쪽의 "녹화하기" 빨간색 버튼을 클릭하고 플래시 무비에 대한 작업을 시작하면 아래와 같이 녹화된 스크립트를 확인할 수 있습니다.

다음을 사용하여 플래시를 자동화합니다. Selenium IDE 녹음

녹화가 완료된 후, 사용자가 스크립트를 실행하려면 아래 화면에 표시된 "녹색 실행 버튼"을 클릭하면 됩니다. Selenium IDE는 스크립트를 단계별로 실행합니다.

다음을 사용하여 플래시를 자동화합니다. Selenium IDE 녹음

다음을 사용하여 Flash를 자동화하는 방법 Selenium 웹드라이버

녹음 기능보다 더 많은 제어 권한을 원하시면, Selenium WebDriver를 사용하면 Flash 객체를 프로그래밍 방식으로 제어할 수 있습니다.

다음을 사용하여 플래시를 자동화할 수도 있습니다. Selenium Flashwebdriver 객체를 통해 웹 드라이버에 접근한 다음, 플래시 객체를 조작하는 메서드를 호출해야 합니다. flashwebdriver jar 파일 다운로드:

단계 1) 다운로드 후 아래 화면에 표시된 대로 jar 파일을 프로젝트에 추가하세요.

Flash jar 파일을 추가하세요 Selenium 프로젝트

단계 2) 플래시 JAR 파일 안에 별도의 flashobjectwebdriver 클래스가 있습니다. 아래 스크린샷과 같이 Selenium 스크립트에서 flashWebdriver "myFlashmovie"를 구현하세요.

flashWebdriver를 구현하세요 Selenium 스크립트

웹 드라이버 클래스 "MyFlashMovie"를 추가하면 Flash 객체에 접근할 수 있습니다.

플래시 테스트를 자동화해야 하는 경우

일반적으로 플래시 객체에 쉽게 접근할 수 없는 경우 플래시 테스트를 자동화해야 합니다. 그렇지 않으면 테스트가 중단되어 플래시 객체 테스트에 실패하게 됩니다.

플래시 테스트를 위한 셀레늄 스크립트 생성

앞서 설명한 단계들을 종합하면, 다음은 프로그램을 실행하고 제어하는 ​​완전한 스크립트입니다. Guru99개의 데모 플래시 무비.

단계 1) 당신은 “Guru플래시 작동 시나리오를 테스트하기 위한 99초짜리 플래시 동영상입니다.

https://demo.guru99.com/test/flash-testing.html

Guru99 데모 플래시 무비 Selenium 테스트

단계 2) 스크립트 작성 Selenium 이클립스를 열고 실행하세요. 아래 코드를 실행하면 다음과 같은 작업이 수행됩니다.

  • 열기 Firefox 브라우저,
  • guru99 플래시 사이트를 시작하고,
  • 플래시 동영상을 재생하고
  • 그런 다음 영화를 중지하십시오.
import org.openqa.selenium.firefox.FirefoxDriver;
import Flash.FlashObjectWebDriver;
public class Flash {
    public static void main(String[] args) throws InterruptedException {
        // Open firefox browser
        FirefoxDriver driver = new FirefoxDriver();
        // Maximize browser
        driver.manage().window().maximize();
        // Under Flash jar file there is a separate FlashObjectWebDriver class
        FlashObjectWebDriver flashApp = new FlashObjectWebDriver(driver, "myFlashMovie");
        // Pass the URL of video
        driver.get("https://demo.guru99.com/test/flash-testing.html");
        Thread.sleep(5000);
        flashApp.callFlashObject("Play");
        Thread.sleep(5000);
        flashApp.callFlashObject("StopPlay");
        Thread.sleep(5000);
        flashApp.callFlashObject("SetVariable","/:message","Flash testing using selenium Webdriver");
        System.out.println(flashApp.callFlashObject("GetVariable","/:message"));
    }
}

단계 3) 위 스크립트를 실행하세요.

출력: 위 스크립트를 실행하면 플래시 무비가 재생되고 멈추는 등의 동작이 수행됩니다.

플래시 테스트의 과제

  • 플래시 앱 자동화는 어려운 작업입니다. 플래시 앱을 자동화하려면 FlexMonkium이라는 애드온을 사용할 수 있습니다. Selenium IDE.
  • Flex 앱의 녹화/재생 기능을 활성화하는 데 문제가 발생할 수 있습니다. Selenium- Flexmonkium 통합. 해결책은 사용자가 Flexmonkium을 설치하고 통합하는 것입니다. Selenium IDE를 주의 깊게 설치하십시오. 올바르게 설치하면 플래시 앱 자동화를 위한 녹화 기능이 활성화됩니다.

자주 묻는 질문

어도비는 2020년 12월 31일부로 플래시 플레이어 지원을 공식 종료했습니다. 대부분의 애플리케이션이 HTML5로 마이그레이션됨에 따라 플래시 테스트는 이제 주로 레거시 시스템에 적용됩니다. Selenium 특별한 플래시 라이브러리 없이 자동화합니다.

플래시 콘텐츠는 HTML DOM 요소가 아닌 페이지에 내장된 컴파일된 SWF 객체 내부에 렌더링됩니다. XPath는 DOM을 탐색하기 때문에 플래시 내부 컨트롤에 접근할 수 없으므로 객체 ID와 FlashObjectWebDriver가 필요합니다.

FlexMonkium은 다음과 통합되는 추가 기능입니다. Selenium Flex 및 Flash 애플리케이션의 녹화 및 재생을 지원하는 IDE입니다. 올바르게 설치하면 테스터는 기존에는 접근할 수 없었던 Flash 객체의 동작을 캡처하고 재생할 수 있습니다.

AI 기반 시각 테스트 도구는 DOM이 아닌 이미지 및 패턴 인식을 통해 화면상의 플래시 요소를 인식합니다. 이를 통해 기존 로케이터로는 감지할 수 없는 애니메이션과 상호 작용을 검증할 수 있습니다.

예. AI 기반 도구는 기존 플래시 테스트 단계를 분석하여 이에 상응하는 HTML5 로케이터와 스크립트를 제안합니다. 이를 통해 HTML5와 같은 최신 프레임워크로의 전환이 가속화됩니다. Selenium WebDriver를 사용하면 수동 재작업을 줄일 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.