Selenium의 Action Class는 무엇이며 응용 프로그램은 무엇입니까?
게시 됨: 2021-05-19Selenium의 Action Class는 키보드 및 마우스 이벤트를 관리하기 위해 Selenium에서 제공하는 기본 제공 기능입니다. 제어 키, 끌어서 놓기 등과 같은 여러 작업 및 이벤트를 관리할 수 있습니다. 액션 클래스의 작업은 Selenium Webdriver의 고급 사용자 상호 작용 API 기능을 사용하여 구현됩니다.
목차
일반적으로 사용되는 키보드 및 마우스 이벤트
특수 키보드 및 마우스 이벤트는 고급 사용자 상호 작용 API를 사용하여 처리됩니다. 이 API에는 이러한 이벤트를 실행하는 동안 필요한 Action 및 Actions 클래스가 포함되어 있습니다. 다음은 Action 클래스에서 제공되는 일반적으로 사용되는 키보드 및 마우스 이벤트입니다.
방법 | 설명 |
길게 누르기() | 현재 마우스 위치에서 손을 떼지 않고 클릭합니다. |
컨텍스트 클릭() | 현재 마우스 위치에서 컨텍스트 클릭(마우스 오른쪽 클릭)을 수행합니다. |
더블 클릭() | 현재 마우스 위치에서 더블 클릭 동작을 수행합니다. |
드래그 앤 드롭(소스, 타겟) | 소스 요소 위치에서 클릭 및 홀드 작업을 수행한 다음 대상 요소 위치로 이동하고 마우스를 놓습니다. 매개변수: 버튼 다운 이벤트를 에뮬레이트하는 소스 요소. 마우스를 이동하고 놓을 대상 요소 |
dragAnd DropBy(소스, x-오프셋, y-오프셋) | 소스 요소 위치에서 클릭 및 홀드를 수행하고 지정된 오프셋만큼 이동한 다음 마우스를 놓습니다. 매개변수: 버튼 다운 이벤트를 에뮬레이트하는 소스 요소. xOffset- 수평 이동 오프셋을 지정합니다. yOffset- 수직 이동 오프셋을 지정합니다. |
keyDown(수정자 키) | 수정자 키 누르기 이벤트를 수행합니다. 눌렸다고 가정하고 후속 상호 작용과 함께 수정자 키를 해제하지 않습니다. 매개변수: modifier_key는 Keys.SHIFT, Keys.ALT 또는 Keys.CONTROL과 같은 수정자 키를 나타냅니다. |
키 업(modifier_key) | 키 릴리스를 수행합니다. 매개변수: modifier_key는 Keys.SHIFT, Keys.ALT 또는 Keys.CONTROL과 같은 수정자 키를 나타냅니다. |
moveByOffset(x 오프셋, y 오프셋) | 지정된 오프셋만큼 현재 위치에서 마우스를 이동합니다. 매개변수: x-offset을 사용하여 수평 오프셋을 지정합니다. 음수 값은 마우스가 왼쪽으로 이동하고 있음을 의미합니다. 수직 오프셋을 지정하는 y-offset. 음수 값은 마우스가 아래쪽으로 이동하고 있음을 의미합니다. |
moveToElement(요소로) | 요소의 중앙에서 중앙으로 마우스를 이동합니다. 매개변수: 이동할 요소를 나타내는 요소입니다. |
풀어 주다() | 현재 마우스 위치에서 누른 마우스 왼쪽 버튼을 놓습니다. |
sendKeys(onElement, charsequence) | 요소에 일련의 키 입력을 보냅니다. 매개변수: 키 입력을 받을 요소를 나타내는 요소(일반적으로 텍스트 필드). 문자 시퀀스 - 전송된 키 입력 시퀀스를 나타내는 문자열 값입니다. |
Selenium Action 클래스의 적용 예
1. Action 및 Action 클래스를 가져옵니다 .
import org.open a.selenium.interactions.Action;
import org.open a.selenium.interactions.Actions;
2. 새 Actions 객체 인스턴스화
작업 빌더 = new Actions(드라이버);
3. 이전 단계에서 Action 개체를 사용하여 Action을 인스턴스화합니다.
작업 mouseOverHome = 빌더
.moveToElement(link_Home)
.짓다();
여기에서는 moveToElement() 메서드를 사용하여 홈 링크 위로 마우스를 이동합니다. build()는 항상 모든 작업이 단일 단계에서 컴파일되도록 하는 최종 메서드입니다.
4. 이전 단계에서 선언한 Action 객체를 실행하면서 perform 메소드를 사용합니다.
통사론:
mouseOverHome.perform();
예 2:
Action 클래스를 사용하여 텍스트 상자의 자동 완성 기능을 구현하는 또 다른 예를 살펴보겠습니다.
이를 수동으로 수행하려면 Shift 키를 누르고 대문자로 입력해야 하는 텍스트를 입력한 다음 Shift 키에서 손을 뗍니다. 넣어, Shift + 알파벳 키를 함께 누릅니다.
자동화 스크립트를 통해 동일한 작업을 모방하기 위해 Actions Class 방식을 활용합니다.
1. 수입-패키지
Action 및 Actions 클래스는 Web Driver API의 org.openqa.selenium.interactions 패키지에 있습니다. 이를 사용하려면 패키지를 가져와야 합니다.
org.openqa.selenium.interactions.Action;
org.openqa.selenium.interactions.Actions;
2. Action 클래스 인스턴스화
Actions 클래스의 개체를 만들어 해당 메서드를 호출하면 도움이 됩니다. 따라서 Actions 클래스를 인스턴스화하고 WebDriver 개체를 사용하여 클래스를 시작합니다. 구문은 다음과 같습니다.
액션 액션 = 새로운 액션(웹드라이버 객체);
3. 일련의 작업 생성
이 예에서 여러 작업을 수행하는 단계의 순서는 다음과 같습니다.
- Shift 키를 누릅니다.
- 원하는 문자 보내기
- Shift 키를 놓으십시오
이러한 작업을 수행하기 위해 Action 클래스에는 다음과 같은 메서드가 있습니다.
- keyDown 메서드를 사용하여 Shift 키를 누릅니다.
- sendKeys 메서드를 사용하여 원하는 텍스트를 보냅니다.
- keyUp 메서드는 Shift 키를 해제합니다.
- keyDown은 요소에 초점을 맞추는 수정자 키 역할을 하고 keyUp 메서드는 눌린 수정자 키를 해제합니다.
보조 키는 두 키를 동시에 누를 때 다른 키의 동작을 변경합니다. 예: Shift, Alt 및 Ctrl.
일련의 작업이 생성되지만 이러한 작업은 webElement에서 수행됩니다. 이를 위한 단계는 다음과 같습니다.
WebElement 요소 = driver.findElement;
actions.keyDown(요소, 키, Shift);
action.sendKeys("TexttoBeConvertAndSendInUpperCase);
action.keyUp(Keys.Shift);
여기서 관찰해야 할 중요한 점은 Action 클래스 메서드 주위에 마우스를 가져가면 Actions 클래스 개체가 반환된다는 것입니다.
4. 작업 순서 작성
Actions 클래스의 build() 메서드를 통해 작업 시퀀스를 빌드할 수 있습니다. 이 메서드는 수행할 준비가 된 전체 작업 집합을 생성합니다. 구문은 다음과 같습니다.
액션 액션 = actions.build();
build() 메서드는 메서드 호출에 의해 호출된 여러 작업의 시퀀스에서 빌드된 복합 작업을 나타내는 Action 유형의 개체를 반환합니다.
5. 액션 시퀀스 수행
Action 클래스 실행의 마지막 단계는 Action 인터페이스의 perform() 메서드를 통해 일련의 작업을 수행하는 것입니다. 구문은 다음과 같습니다.
action.perform();
모든 Actions 클래스 메서드를 활용하고 키보드와 마우스를 사용하여 다양한 사용자 작업을 수행하려면 위에 제공된 단계를 실행해야 합니다.
세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.
다음은?
전체 스택 소프트웨어 개발에 대해 자세히 알아보려면 upGrad & IIIT-B의 Executive PG Program Full-stack Software Development를 확인하십시오. 이 프로그램은 일하는 전문가를 위해 설계되었으며 500시간 이상의 엄격한 교육, 9개 이상의 프로젝트 및 과제, IIIT-B 동문 자격, 실질적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
Selenium의 액션 클래스는 무엇입니까?
작업 클래스는 웹 요소에서 수행할 수 있는 작업 또는 일련의 작업을 설명하는 클래스입니다. 로케이터로 작업을 수행하려는 요소를 식별합니다. 작업 클래스는 공용 정적 클래스 수준 수정자와 작업 접미사(예: Action, KeyAction, PageAction 등)의 두 문자 조합으로 정의됩니다. public static modifier를 사용하면 클래스를 인스턴스화할 수 있는 클래스로 노출할 수 있습니다. 작업 접미사는 수행 중인 작업 유형을 나타냅니다. Action 접미사 클래스도 매개변수화됩니다. 매개변수는 작업의 요소 이름입니다. 예를 들어, 텍스트 필드에서 작업을 수행하려면 텍스트 필드 매개변수를 사용합니다.
Selenium의 용도는 무엇인가요?
Selenium은 웹 페이지에서 사용자 작업을 기록하고 재생하는 데 사용되는 매우 강력한 휴대용 소프트웨어 테스트 도구(selenium 소프트웨어 테스트 도구)입니다. 모든 웹 브라우저에서 웹 응용 프로그램의 기능 및 비기능 요구 사항을 테스트하는 데 사용됩니다. Java로 구현되었으며 매우 간단한 API를 가지고 있습니다. Firefox, Chrome, Internet Explorer, Safari 등과 같은 모든 주요 웹 브라우저에서 웹 애플리케이션 테스트를 지원합니다.
Java에서 Selenium을 배우는 방법?
Selenium은 여러 프로그래밍 언어로 자동화된 테스트를 작성할 수 있는 도구입니다. 테스트는 웹 드라이버를 사용하여 작성됩니다. Java, C#, Python 및 PHP와 같은 프로그래밍 언어를 기반으로 웹 애플리케이션을 테스트하는 데 사용할 수 있습니다. 실제로 많은 개발자들은 Selenium Java API를 배울 필요가 없다고 생각합니다. Selenium WebDriver는 페이지에서 요소를 찾고 해당 요소로 작업을 수행하는 올바른 선택입니다. 많은 프로그래밍 언어로 테스트를 구현할 수 있지만 Java로 테스트를 작성해야 하는 경우 Selenium WebDriver가 최선의 선택입니다. Java에서 Selenium을 배우는 또 다른 방법은 Selenium RC라고도 하는 Selenium IDE를 사용하는 것입니다. 이 도구에 대한 브라우저 지원은 우리가 알고 있는 것만큼 좋지 않으며 Firefox와 Chrome만 지원됩니다. 그러나 IDE를 사용하면 Selenium 테스트 케이스를 빠르게 설계 및 실행하고 테스트 케이스를 기록 및 재생하고 테스트 케이스를 자동 생성하는 등의 작업을 수행할 수 있습니다.