50 most popularly asked selenium interview questions
이 튜토리얼에서 우리는 Selenium IDE, Selenium RC, Selenium Grid 및 Selenium WebDriver 인터뷰 질문을 포함하여 가장 자주 묻는 50 개의 Selenium 인터뷰 질문.
이 튜토리얼로 이동하기 전에이 Selenium 기사 시리즈에 대한 빠른 참고 :
이것은 30 개 이상의 포괄적 인 자습서로 구성된 Selenium 온라인 교육 시리즈의 마지막 자습서입니다. 여러분 모두가이 튜토리얼을 즐겼 으면 좋겠습니다. 여기에 처음 오신 분은 이 교육 시리즈의 첫 번째 자습서입니다.
******************
또한이 ' 최고의 온라인 셀레늄 교육 과정 ”을 통해 Selenium 자동화 경험이 10 년 이상인 전문가로부터 Selenium 자동화 도구를 배웁니다.
******************
셀레늄 인터뷰 질문 및 답변 상위 50 개
여기 있습니다.
Q # 1) 자동화 테스트 란 무엇입니까?
자동화 테스트 또는 테스트 자동화는 테스트중인 애플리케이션 / 시스템을 테스트하기 위해 수동 프로세스를 자동화하는 프로세스입니다. 자동화 테스트에는 반복적으로 실행할 수 있고 수동 개입이 필요없는 테스트 스크립트를 만들 수있는 별도의 테스트 도구 사용이 포함됩니다.
Q # 2) 자동화 테스트의 이점은 무엇입니까?
자동화 테스트의 이점은 다음과 같습니다.
- 반복되는 테스트 케이스 실행 지원
- 대형 테스트 매트릭스 테스트 지원
- 병렬 실행 가능
- 무인 실행 장려
- 정확성을 향상시켜 사람이 생성 한 오류를 줄입니다.
- 시간과 비용 절약
Q # 3) 왜 Selenium을 테스트 도구로 선택해야합니까?
셀렌
- 무료 오픈 소스입니다
- 사용자 기반이 넓고 커뮤니티를 돕습니다.
- 브라우저 간 호환성 (Firefox, Chrome, Internet Explorer, Safari 등)
- 뛰어난 플랫폼 호환성 (Windows, Mac OS, Linux 등)
- 여러 프로그래밍 언어 (Java, C #, Ruby, Python, Pearl 등) 지원
- 신선하고 정기적 인 저장소 개발
- 분산 테스트 지원
Q # 4) 셀레늄이란? 다른 셀레늄 구성 요소는 무엇입니까?
Selenium은 가장 널리 사용되는 자동 테스트 제품군 중 하나입니다. Selenium은 웹 기반 애플리케이션의 기능적 측면과 다양한 브라우저 및 플랫폼의 자동화 테스트를 지원하고 장려하는 방식으로 설계되었습니다. 오픈 소스 커뮤니티에 존재하기 때문에 테스트 전문가들 사이에서 가장 인정받는 도구 중 하나가되었습니다.
다른 브라우저에서 내 웹 사이트보기
Selenium은 단순한 도구 나 유틸리티가 아니라 여러 테스트 도구의 패키지이며 같은 이유로 Suite라고합니다. 이러한 각 도구는 다양한 테스트 및 테스트 환경 요구 사항을 충족하도록 설계되었습니다.
Suite 패키지는 다음 도구 세트로 구성됩니다.
- Selenium 통합 개발 환경 (IDE) – Selenium IDE는 기록 및 재생 도구입니다. Firefox Plugin으로 배포됩니다.
- 셀레늄 원격 제어 (RC) – Selenium RC는 사용자가 원하는 프로그래밍 언어로 테스트 스크립트를 작성할 수있는 서버입니다. 또한 광범위한 브라우저 내에서 테스트 스크립트를 실행할 수 있습니다.
- 셀레늄 WebDriver – WebDriver는 Selenium RC에 비해 다양한 장점이있는 완전히 다른 도구입니다. WebDriver는 웹 브라우저와 직접 통신하고 기본 호환성을 사용하여 자동화합니다.
- 셀레늄 그리드 – Selenium Grid는 여러 플랫폼과 환경에서 동시에 테스트 실행을 배포하는 데 사용됩니다.
Q # 5) Selenium에서 지원할 수있는 테스트 유형은 무엇입니까?
Selenium은 다음 유형의 테스트를 지원합니다.
- 기능 테스트
- 회귀 테스트
Q # 6) 셀레늄의 한계는 무엇입니까?
다음은 Selenium의 제한 사항입니다.
- Selenium은 웹 기반 애플리케이션의 테스트 만 지원합니다.
- Selenium을 사용하여 모바일 애플리케이션을 테스트 할 수 없습니다.
- Captcha 및 바코드 판독기는 Selenium을 사용하여 테스트 할 수 없습니다.
- 보고서는 TestNG 또는 JUnit과 같은 타사 도구를 사용해서 만 생성 할 수 있습니다.
- Selenium은 무료 도구이므로 사용자를 통한 준비된 공급 업체 지원이 없기 때문에 수많은 도움 커뮤니티를 찾을 수 있습니다.
- 사용자는 사전 프로그래밍 언어 지식이 있어야합니다.
문 # 7) Selenium IDE, Selenium RC 및 WebDriver의 차이점은 무엇입니까?
특색 | 셀레늄 IDE | 셀레늄 RC | WebDriver |
---|---|---|---|
경고, 탐색, 드롭 다운 처리 | Selenium IDE는 경고, 탐색, 드롭 다운을 처리하기위한 지원을 명시 적으로 제공하지 않습니다. | Selenium RC는 경고, 탐색, 드롭 다운을 처리하는 데 도움이되는 도구를 명시 적으로 제공하지 않습니다. | WebDriver는 경고, 탐색 및 드롭 다운을 효율적이고 효과적으로 처리하는 데 도움이되는 다양한 유틸리티와 클래스를 제공합니다. |
브라우저 호환성 | Selenium IDE는 Firefox 플러그인으로 제공되므로 Firefox 만 지원합니다. | Selenium RC는 Mozilla Firefox, Google Chrome, Internet Explorer 및 Opera의 다양한 버전을 지원합니다. | WebDriver는 Mozilla Firefox, Google Chrome, Internet Explorer 및 Opera의 다양한 버전을 지원합니다. 또한 GUI가 없거나 헤드리스 브라우저 인 HtmlUnitDriver를 지원합니다. |
기록 및 재생 | Selenium IDE는 기록 및 재생 기능을 지원합니다 | Selenium RC는 녹음 및 재생 기능을 지원하지 않습니다. | WebDriver는 기록 및 재생 기능을 지원하지 않습니다. |
서버 요구 사항 | Selenium IDE는 테스트 스크립트를 실행하기 전에 서버를 시작할 필요가 없습니다. | Selenium RC는 테스트 스크립트를 실행하기 전에 서버를 시작해야합니다. | WebDriver는 테스트 스크립트를 실행하기 전에 서버를 시작할 필요가 없습니다. |
건축물 | Selenium IDE는 자바 스크립트 기반 프레임 워크입니다. | Selenium RC는 JavaScript 기반 프레임 워크입니다. | WebDriver는 자동화에 대한 브라우저의 기본 호환성을 사용합니다. |
객체 지향 | Selenium IDE는 객체 지향 도구가 아닙니다. | Selenium RC는 반 객체 지향 도구입니다. | WebDriver는 순전히 객체 지향 도구입니다. |
동적 파인더 (웹 페이지에서 웹 요소 찾기) | Selenium IDE는 동적 파인더를 지원하지 않습니다. | Selenium RC는 동적 파인더를 지원하지 않습니다. | WebDriver는 동적 파인더를 지원합니다 |
WAP (iPhone / Android) 테스트 | Selenium IDE는 iPhone / Andriod 애플리케이션 테스트를 지원하지 않습니다. | Selenium RC는 iPhone / Android 애플리케이션 테스트를 지원하지 않습니다. | WebDriver는 iPhone / Android 애플리케이션의 테스트를 효율적으로 지원하도록 설계되었습니다. 이 도구는 WAP 기반 테스트를위한 다양한 드라이버와 함께 제공됩니다. 예 : AndroidDriver, iPhoneDriver |
리스너 지원 | Selenium IDE는 리스너를 지원하지 않습니다. | Selenium RC는 리스너를 지원하지 않습니다. | WebDriver는 리스너 구현을 지원합니다. |
속도 | Selenium IDE는 테스트를 시작하는 웹 브라우저에 연결되어 있기 때문에 빠릅니다. 따라서 IDE와 브라우저는 | Selenium RC는 브라우저와 직접 통신하지 않기 때문에 WebDriver보다 느립니다. 오히려 셀레 니엄 명령을 Selenium Core로 전송하여 차례로 브라우저와 통신합니다. | WebDriver는 웹 브라우저와 직접 통신합니다. 따라서 훨씬 빠르게 만듭니다. |
Q # 8) Selenium IDE는 언제 사용해야합니까?
Selenium IDE는 Selenium 패키지 내의 모든 도구 중 가장 간단하고 쉬운 도구입니다. 녹음 및 재생 기능을 사용하면 프로그래밍 언어에 대한 지식이 거의 없어도 매우 쉽게 배울 수 있습니다. Selenium IDE는 순진한 사용자에게 이상적인 도구입니다.
Q # 9) 셀렌은 무엇입니까?
Selenese는 Selenium IDE에서 테스트 스크립트를 작성하는 데 사용되는 언어입니다.
질문 # 10) 셀레늄에는 어떤 유형의 로케이터가 있습니까?
로케이터는 웹 페이지 내에서 웹 요소를 고유하게 식별하는 주소라고 할 수 있습니다. 따라서 웹 요소를 정확하고 정확하게 식별하기 위해 셀레늄의 다양한 유형의 로케이터 :
- 신분증
- ClassName
- 이름
- TagName
- LinkText
- PartialLinkText
- Xpath
- CSS 선택기
- 심판
문 # 11) assert 명령과 verify 명령의 차이점은 무엇입니까?
주장 : Assert 명령은 주어진 조건이 참인지 거짓인지 확인합니다. 주어진 요소가 웹 페이지에 있는지 여부를 주장한다고 가정 해 보겠습니다. 조건이 참이면 프로그램 컨트롤은 다음 테스트 단계를 실행하지만 조건이 거짓이면 실행이 중지되고 더 이상 테스트가 실행되지 않습니다.
확인: 확인 명령은 주어진 조건이 참인지 거짓 인지도 확인합니다. 조건이 참인지 거짓인지에 관계없이 프로그램 실행은 중단되지 않습니다. 즉, 확인 중 실패해도 실행이 중단되지 않고 모든 테스트 단계가 실행됩니다.
Q # 12) XPath 란 무엇입니까?
XPath XML 경로를 기반으로 웹 요소를 찾는 데 사용됩니다. XML은 Extensible Markup Language의 약자이며 임의의 데이터를 저장, 구성 및 전송하는 데 사용됩니다. HTML 태그와 매우 유사한 키-값 쌍에 데이터를 저장합니다. 둘 다 마크 업 언어이고 동일한 우산에 속하기 때문에 XPath를 사용하여 HTML 요소를 찾을 수 있습니다.
XPath를 사용하여 요소를 찾는 기본은 전체 페이지에서 다양한 요소 사이를 순회하여 사용자가 다른 요소를 참조하여 요소를 찾을 수 있도록하는 것입니다.
Q # 13) Xpath에서“/”와“//”의 차이점은 무엇입니까?
단일 슬래시 '/'– 단일 슬래시는 절대 경로로 Xpath를 만드는 데 사용됩니다. 즉, 문서 노드 / 시작 노드에서 선택을 시작하기 위해 xpath가 만들어집니다.
이중 슬래시 '//'– 이중 슬래시는 상대 경로로 Xpath를 만드는 데 사용됩니다. 즉, 문서 내에서 선택을 시작하기 위해 xpath가 만들어집니다.
Q # 14) 동일 출처 정책이란 무엇이며 어떻게 처리 할 수 있습니까?
동일한 출처 정책의 문제로 인해 문서에 액세스하려는 출처와 다른 출처에서 문서의 DOM에 액세스 할 수 없습니다.
Origin은 URL의 스키마, 호스트 및 포트의 순차적 조합입니다. 예를 들어 URL https://www.softwaretestinghelp.com/resources/의 경우 출처는 http, softwaretestinghelp.com, 80의 조합입니다.
따라서 Selenium Core (JavaScript 프로그램)는 시작된 위치와 다른 출처의 요소에 액세스 할 수 없습니다. 예를 들어“https://www.softwaretestinghelp.com”에서 JavaScript 프로그램을 시작했다면“https://www.softwaretestinghelp.com/resources와 같은 동일한 도메인 내의 페이지에 액세스 할 수 있습니다. ”또는“https://www.softwaretestinghelp.com/istqb-free-updates/”. google.com, seleniumhq.org와 같은 다른 도메인은 더 이상 액세스 할 수 없습니다.
따라서 동일한 출처 정책을 처리하기 위해 Selenium Remote Control이 도입되었습니다.
문 # 15) Selenium Grid는 언제 사용해야합니까?
Selenium Grid를 사용하면 여러 플랫폼과 브라우저에서 동시에 동일하거나 다른 테스트 스크립트를 실행하여 분산 테스트 실행을 달성하고 다른 환경에서 테스트하고 실행 시간을 현저하게 절약 할 수 있습니다.
Q # 16) Selenium 1과 Selenium 2는 무엇을 의미합니까?
Selenium RC와 WebDriver의 조합은 일반적으로 Selenium 2로 알려져 있습니다. Selenium RC 만 Selenium 1이라고도합니다.
Q # 17) 최신 Selenium 도구는 무엇입니까?
WebDriver
Q # 18) WebDriver를 사용하여 브라우저를 시작하려면 어떻게해야합니까?
다음 구문을 사용하여 브라우저를 시작할 수 있습니다.
WebDriver 드라이버 = 새로운 FirefoxDriver ();
WebDriver 드라이버 = 새로운 ChromeDriver ();
WebDriver 드라이버 = 새로운 InternetExplorerDriver ();
Q # 19) WebDriver에서 사용할 수있는 다른 유형의 드라이버는 무엇입니까?
WebDriver에서 사용할 수있는 다른 드라이버는 다음과 같습니다.
- FirefoxDriver
- InternetExplorerDriver
- ChromeDriver
- SafariDriver
- OperaDriver
- AndroidDriver
- 아이폰 드라이버
- HtmlUnitDriver
Q # 20) WebDriver에서 사용할 수있는 대기 유형에는 어떤 것이 있습니까?
두 가지가있다 WebDriver에서 사용 가능한 대기 유형 :
- 암시 적 대기
- 명시 적 대기
암시 적 대기 : 암시 적 대기는 전체 테스트 스크립트에서 각 연속 테스트 단계 / 명령 사이의 기본 대기 시간 (예 : 30 초)을 제공하는 데 사용됩니다. 따라서 후속 테스트 단계는 이전 테스트 단계 / 명령을 실행 한 후 30 초가 경과 한 경우에만 실행됩니다.
명시 적 대기 : 명시 적 대기는 특정 조건이 충족되거나 최대 시간이 경과 할 때까지 실행을 중지하는 데 사용됩니다. 암시 적 대기와 달리 명시 적 대기는 특정 인스턴스에만 적용됩니다.
질문 # 21) Selenium을 사용하여 텍스트 상자에 입력하는 방법은 무엇입니까?
사용자는 sendKeys ( '입력 할 문자열')를 사용하여 텍스트 상자에 문자열을 입력 할 수 있습니다.
통사론:
WebElement 사용자 이름 = drv .findElement (By.id ( '이메일' ));
// 사용자 이름 입력
username.sendKeys ( 'sth' );
문 # 22) 의 요소가 화면에 표시되는지 어떻게 알 수 있습니까?
WebDriver는 웹 요소의 가시성을 확인하기 위해 다음과 같은 방법으로 사용자를 용이하게합니다. 이러한 웹 요소는 단추, 드롭 상자, 확인란, 라디오 단추, 레이블 등이 될 수 있습니다.
- isDisplayed ()
- isSelected ()
- 사용 가능()
통사론:
isDisplayed () :
부울 buttonPresence = driver.findElement (By.id ( '믿다' )). isDisplayed ();
isSelected () :
부울 buttonSelected = driver.findElement (By.id ( '믿다' )). isSelected ();
사용 가능():
부울 searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )).사용 가능();
질문 # 23) 웹 요소의 텍스트를 어떻게 얻을 수 있습니까?
Get 명령은 지정된 웹 요소의 내부 텍스트를 검색하는 데 사용됩니다. 이 명령은 매개 변수가 필요하지 않지만 문자열 값을 반환합니다. 또한 웹 페이지에 표시된 메시지, 레이블, 오류 등을 확인하기 위해 광범위하게 사용되는 명령 중 하나입니다.
통사론:
문자열 텍스트 = driver.findElement (By.id ( 'Text')). getText ();
Q # 24) 드롭 다운에서 값을 선택하는 방법은 무엇입니까?
드롭 다운의 값은 WebDriver의 Select 클래스를 사용하여 선택할 수 있습니다.
신입생을위한 핵심 자바 인터뷰 질문 및 답변
통사론:
selectByValue :
selectByValue = 새로운 고르다( 운전사 .findElement (By.id ( “SelectID_One” )));
selectByValue.selectByValue ( “greenvalue” );
selectByVisibleText :
selectByVisibleText = 새로운 고르다 ( 운전사 .findElement (By.id ( “SelectID_Two” )));
selectByVisibleText.selectByVisibleText ( '라임' );
selectByIndex :
selectByIndex = 새로운 고르다( 운전사 .findElement (By.id ( “SelectID_Three” )));
selectByIndex.selectByIndex (2);
Q # 25) 내비게이션 명령어에는 어떤 종류가 있나요?
다음은 탐색 명령 :
navigate (). back () – 위의 명령은 매개 변수가 필요하지 않으며 사용자를 웹 브라우저 기록의 이전 웹 페이지로 되돌립니다.
샘플 코드 :
driver.navigate (). back ();
navigate (). forward () –이 명령을 사용하면 사용자가 브라우저 기록을 참조하여 다음 웹 페이지로 이동할 수 있습니다.
샘플 코드 :
driver.navigate (). forward ();
navigate (). refresh () –이 명령을 사용하면 모든 웹 요소를 다시로드하여 현재 웹 페이지를 새로 고칠 수 있습니다.
샘플 코드 :
driver.navigate (). refresh ();
로 이동() –이 명령을 사용하면 사용자가 새 웹 브라우저 창을 시작하고 지정된 URL로 이동할 수 있습니다.
샘플 코드 :
driver.navigate (). to (“https://google.com”);
Q # 26) linkText를 사용하여 하이퍼 링크를 클릭하는 방법은 무엇입니까?
운전사 .findElement (By.linkText ( 'Google' )).딸깍 하는 소리();
이 명령은 링크 텍스트를 사용하여 요소를 찾은 다음 해당 요소를 클릭하면 사용자가 해당 페이지로 리디렉션됩니다.
위에서 언급 한 링크는 다음 명령을 사용하여 액세스 할 수도 있습니다.
운전사 .findElement (By.partialLinkText ( '구' )).딸깍 하는 소리();
위의 명령은 괄호 안에 제공된 링크의 하위 문자열을 기반으로 요소를 찾아서 partialLinkText ()가 지정된 하위 문자열이있는 웹 요소를 찾은 다음 클릭합니다.
문 # 27) 어떻게 WebDriver의 핸들 프레임 ?
iframe과 같은 인라인 프레임 약어는 중첩을 활성화하여 현재 HTML 문서 내에 다른 문서를 삽입하거나 단순히 웹 페이지를 웹 페이지에 삽입하는 데 사용됩니다.
ID로 iframe 선택
운전사 .switchTo (). frame ( ' 프레임의 ID ' );
tagName을 사용하여 iframe 찾기
driver.switchTo (). frame (driver.findElements (By.tagName ( 'iframe'). get (0));
색인을 사용하여 iframe 찾기
프레임 (인덱스)
driver.switchTo (). frame (0);
frame (프레임 이름)
driver.switchTo (). frame ( '프레임 이름');
프레임 (WebElement 요소)
부모 창 선택
driver.switchTo (). defaultContent ();
Q # 28) findElement ()와 findElements ()는 언제 사용합니까?
findElement () : findElement ()는 현재 웹 페이지에서 지정된 로케이터 값과 일치하는 첫 번째 요소를 찾는 데 사용됩니다. 첫 번째로 일치하는 요소 만 가져옵니다.
통사론:
WebElement 요소 = 운전사 .findElements (By.xpath ( '// div (@ id = 'example') // ul // li' ));
findElements () : findElements ()는 현재 웹 페이지에서 지정된 로케이터 값과 일치하는 모든 요소를 찾는 데 사용됩니다. 일치하는 모든 요소를 가져 와서 WebElements 목록에 저장합니다.
통사론:
목록 elementList = 운전사 .findElements (By.xpath ( '// div (@ id = 'example') // ul // li' ));
문 # 29) 목록에서 둘 이상의 웹 요소를 찾는 방법은 무엇입니까?
때때로 우리는 순서가 있거나 정렬되지 않은 목록으로 배열 된 여러 하이퍼 링크, 이미지 등과 같은 동일한 유형의 요소를 발견 할 수 있습니다. 따라서 단일 코드로 이러한 요소를 처리하는 것이 절대적으로 합리적이며 WebElement List를 사용하여 수행 할 수 있습니다.
샘플 코드
// Storing the list List elementList = driver.findElements(By.xpath('//div(@id='example')//ul//li')); // Fetching the size of the list int listSize = elementList.size(); for (int i=0; i Q # 30) driver.close ()와 driver.quit 명령의 차이점은 무엇입니까?
닫기() : WebDriver의 close () 메서드는 사용자가 현재 작업중인 웹 브라우저 창을 닫거나 WebDriver에서 현재 액세스중인 창을 말할 수도 있습니다. 명령에는 매개 변수가 필요하지 않으며 값도 반환되지 않습니다.
떠나다() : close () 메서드와 달리 quit () 메서드는 프로그램이 연 모든 창을 닫습니다. close () 메서드와 마찬가지로이 명령은 매개 변수가 필요하지 않으며 값도 반환하지 않습니다.
Q # 31) Selenium은 창 기반 팝업을 처리 할 수 있습니까?
Selenium은 웹 애플리케이션 테스트 만 지원하는 자동화 테스트 도구입니다. 따라서 창 팝업은 Selenium을 사용하여 처리 할 수 없습니다.
Q # 32) 웹 기반 팝업은 어떻게 처리 할 수 있습니까?
WebDriver는 사용자에게 매우 효율적인 방법을 제공합니다. Alert 인터페이스를 사용하여 이러한 팝업 처리 . Alert 인터페이스와 함께 사용할 네 가지 방법이 있습니다.
- void dismiss () – dismiss () 메서드는 팝업 창이 나타나면 즉시 '취소'버튼을 클릭합니다.
- void accept () – accept () 메소드는 팝업 창이 나타나면 즉시 'Ok'버튼을 클릭합니다.
- String getText () – getText () 메서드는 경고 상자에 표시된 텍스트를 반환합니다.
- void sendKeys (String stringToSend) – sendKeys () 메서드는 지정된 문자열 패턴을 경고 상자에 입력합니다.
통사론:
// 자바 스크립트 알림 수락
경고 경고 = driver.switchTo (). alert ();
alert.accept ();
Q # 33) 윈도우 기반 팝업을 어떻게 처리 할 수 있습니까?
Selenium은 웹 애플리케이션 테스트 만 지원하는 자동화 테스트 도구입니다. 즉, Windows 기반 애플리케이션의 테스트는 지원하지 않습니다. 그러나 Selenium만으로는 상황을 해결할 수 없지만 일부 타사 개입과 함께이 문제를 극복 할 수 있습니다. AutoIT, Robot 클래스 등과 같은 셀레늄과 함께 창 기반 팝업을 처리하는 데 사용할 수있는 여러 타사 도구가 있습니다.
Q # 34) 웹 페이지의 제목을 어떻게 주장하나요?
// 웹 페이지의 제목 확인
assertTrue ( '창 제목이 잘못되었습니다.', driver.getTitle (). equals ( '페이지 제목'));
Q # 35) WebDriver를 사용하여 웹 요소에 마우스를 올리는 방법은 무엇입니까?
WebDriver는 사용자가 마우스 및 키보드 이벤트를 자동화하기 위해 이용할 수있는 광범위한 상호 작용 유틸리티를 제공합니다. 액션 인터페이스는 단일 사용자 상호 작용을 시뮬레이션하는 유틸리티 중 하나입니다.
따라서 다음 시나리오에서는 Action Interface를 사용하여 드롭 다운에서 마우스를 가져간 다음 옵션 목록을 엽니 다.
샘플 코드 :
// Instantiating Action Interface Actions actions=new Actions(driver); // howering on the dropdown actions.moveToElement(driver.findElement(By.id('id of the dropdown'))).perform(); // Clicking on one of the items in the list options WebElement subLinkOption=driver.findElement(By.id('id of the sub link')); subLinkOption.click();
Q # 36) 요소의 CSS 속성을 검색하는 방법은 무엇입니까?
css 속성의 값은 get () 메서드를 사용하여 검색 할 수 있습니다.
통사론:
driver.findElement (By.id ( '신분증 “)). getCssValue ( 'css 속성 이름' );
driver.findElement (By.id ( '신분증 “)). getCssValue ( '글꼴 크기' );
Q # 37) WebDriver에서 스크린 샷을 캡처하려면 어떻게해야합니까?
import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class CaptureScreenshot { WebDriver driver; @Before public void setUp() throws Exception { driver = new FirefoxDriver(); driver.get('https://google.com'); } @After public void tearDown() throws Exception { driver.quit(); } @Test public void test() throws IOException { // Code to capture the screenshot File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); // Code to copy the screenshot in the desired location FileUtils.copyFile(scrFile, new File('C:\CaptureScreenshot\google.jpg')) } }
문 # 38) Junit은 무엇입니까?
Junit Apache에서 도입 한 단위 테스트 프레임 워크입니다. Junit은 Java를 기반으로합니다.
Q # 39) Junit 주석이란 무엇입니까?
다음은 JUnit 주석입니다.
- @테스트: Annotation을 통해 시스템은 @Test로 주석 처리 된 메서드가 테스트 메서드임을 알 수 있습니다. 단일 테스트 스크립트에 여러 테스트 방법이있을 수 있습니다.
- @전에: @Before로 주석이 달린 메소드는 시스템이이 메소드가 각 테스트 메소드 이전에 매번 실행되어야 함을 알려줍니다.
- @후: @After로 주석이 달린 메소드는 시스템이이 메소드가 각 테스트 메소드 이후에 매번 실행되어야 함을 알려줍니다.
- @BeforeClass : @BeforeClass로 주석이 달린 메소드는 시스템이이 메소드가 어떤 테스트 메소드보다 먼저 한 번 실행된다는 것을 시스템에 알려줍니다.
- @방과후: @AfterClass로 주석이 달린 메소드는 시스템이이 메소드가 테스트 메소드 이후에 한 번 실행된다는 것을 시스템에 알립니다.
- @ 무시 : @Ignore로 주석이 달린 메소드는이 메소드가 실행되지 않을 것임을 시스템에 알립니다.
문 # 40) TestNG는 무엇이고 Junit보다 나은 점은 무엇입니까?
TestNG 개발자와 테스터 모두의 이점을 활용할 수 있도록 설계된 고급 프레임 워크입니다. 프레임 워크가 시작되면서 JUnit은 자바 애플리케이션, 자바 개발자 및 자바 테스터 사이에서 엄청난 인기를 얻었으며 코드 품질을 크게 향상 시켰습니다. 사용하기 쉽고 직관적 임에도 불구하고 JUnit에는 TestNG를 그림으로 가져와야하는 필요성을 야기하는 자체 한계가 있습니다. TestNG는 Apache 소프트웨어 라이선스에 따라 배포되고 쉽게 다운로드 할 수있는 오픈 소스 프레임 워크입니다.
MP3 변환기에 무료 간단한 YouTube
WebDriver가 포함 된 TestNG는 효율적이고 효과적인 테스트 결과 형식을 제공하여 이해 관계자와 공유하여 제품 / 애플리케이션의 상태를 엿볼 수 있으므로 WebDriver가 테스트 보고서를 생성 할 수없는 단점을 제거 할 수 있습니다. TestNG에는 프로그램이 예기치 않게 종료되지 않고 실행될 수 있도록하는 내장 된 예외 처리 메커니즘이 있습니다.
TestNG를 JUnit보다 우수하게 만드는 여러 가지 장점이 있습니다. 그들 중 일부는 다음과 같습니다.
- 고급 및 쉬운 주석 추가
- 실행 패턴을 설정할 수 있습니다.
- 테스트 스크립트의 동시 실행
- 테스트 케이스 종속성을 설정할 수 있습니다.
문 # 41) TestNG에서 테스트 케이스 우선 순위를 설정하는 방법은 무엇입니까?
TestNG에서 우선 순위 설정
코드 스 니펫
package TestNG; import org.testng.annotations.*; public class SettingPriority { @Test(priority=0) public void method1() { } @Test(priority=1) public void method2() { } @Test(priority=2) public void method3() { } }
테스트 실행 순서 :
- 방법 1
- 방법 2
- 방법 3
문 # 42) 프레임 워크 란 무엇입니까?
프레임 워크는 다양한 지침, 코딩 표준, 개념, 프로세스, 관행, 프로젝트 계층, 모듈성,보고 메커니즘, 테스트 데이터 주입 등을 기둥 자동화 테스트에 건설적으로 혼합 한 것입니다.
문 # 43) 자동화 프레임 워크의 장점은 무엇입니까?
- 코드의 재사용 성
- 최대 범위
- 복구 시나리오
- 저렴한 유지 보수
- 최소한의 수동 개입
- 간편한보고
Q # 44) 다른 유형의 프레임 워크는 무엇입니까?
다음은 다양한 유형의 프레임 워크입니다.
- 모듈 기반 테스트 프레임 워크 : 프레임 워크는 전체 '테스트중인 애플리케이션'을 논리적 모듈과 격리 된 모듈의 수로 나눕니다. 각 모듈에 대해 별도의 독립적 인 테스트 스크립트를 만듭니다. 따라서 이러한 테스트 스크립트를 함께 사용하면 둘 이상의 모듈을 나타내는 더 큰 테스트 스크립트가 작성됩니다.
- 라이브러리 아키텍처 테스트 프레임 워크 : 프레임 워크의 기본 기본은 공통 단계를 결정하고이를 라이브러리 아래의 함수로 그룹화하고 필요할 때마다 테스트 스크립트에서 해당 함수를 호출하는 것입니다.
- 데이터 기반 테스트 프레임 워크 : 데이터 기반 테스트 프레임 워크는 사용자가 테스트 스크립트 논리와 테스트 데이터를 서로 분리하는 데 도움이됩니다. 사용자가 테스트 데이터를 외부 데이터베이스에 저장할 수 있습니다. 데이터는 일반적으로 '키-값'쌍에 저장됩니다. 따라서 키를 사용하여 테스트 스크립트 내의 데이터에 액세스하고 데이터를 채울 수 있습니다.
- 키워드 기반 테스트 프레임 워크 : 키워드 기반 테스트 프레임 워크는 테스트 데이터를 스크립트에서 분리 할뿐만 아니라 테스트 스크립트에 속한 특정 코드 세트를 외부 데이터 파일에 보관한다는 점에서 데이터 기반 테스트 프레임 워크의 확장입니다.
- 하이브리드 테스트 프레임 워크 : 하이브리드 테스트 프레임 워크는 위에서 언급 한 둘 이상의 프레임 워크의 조합입니다. 이러한 설정의 가장 좋은 점은 모든 종류의 관련 프레임 워크의 이점을 활용한다는 것입니다.
- 행동 기반 개발 프레임 워크 : 행동 기반 개발 프레임 워크를 통해 비즈니스 분석가, 개발자, 테스터 등이 쉽게 읽고 이해할 수있는 형식으로 기능 검증을 자동화 할 수 있습니다.
Q # 45) Excel에서 테스트 데이터를 읽으려면 어떻게해야합니까?
테스트 데이터는 JXL 또는 POI API를 사용하여 Excel에서 효율적으로 읽을 수 있습니다. 여기에서 자세한 튜토리얼보기 .
Q # 46) POI와 jxl jar의 차이점은 무엇입니까?
# JXL 항아리 POI 항아리 하나 JXL은 '.xls'형식, 즉 바이너리 기반 형식을 지원합니다. JXL은 Excel 2007 및 '.xlsx'형식 (예 : XML 기반 형식)을 지원하지 않습니다. POI jar는 이러한 모든 형식을 지원합니다. 두 JXL API는 2009 년에 마지막으로 업데이트되었습니다. POI는 정기적으로 업데이트 및 릴리스됩니다. 삼 JXL 문서는 POI만큼 포괄적이지 않습니다. POI에는 잘 준비되고 매우 포괄적 인 문서가 있습니다. 4 JXL API는 서식있는 텍스트 형식을 지원하지 않습니다. POI API는 서식있는 텍스트 형식을 지원합니다. 5 JXL API는 POI API보다 빠릅니다. POI API는 JXL API보다 느립니다.
문 # 47) Selenium과 QTP의 차이점은 무엇입니까?
특색 셀렌 Quick Test Professional (QTP) 브라우저 호환성 Selenium은 Firefox, Chrome, Safari, Internet Explorer, Opera 등과 같은 거의 모든 인기있는 브라우저를 지원합니다. QTP는 Internet Explorer, Firefox 및 Chrome을 지원합니다. QTP는 Windows 운영 체제 만 지원합니다. 분포 Selenium은 오픈 소스 도구로 배포되며 자유롭게 사용할 수 있습니다. QTP는 라이센스 도구로 배포되어 상용화되었습니다. 테스트중인 애플리케이션 Selenium은 웹 기반 애플리케이션의 테스트 만 지원합니다. QTP는 웹 기반 애플리케이션과 Windows 기반 애플리케이션 모두 테스트를 지원합니다. 개체 저장소 개체 저장소를 별도의 엔터티로 만들어야합니다. QTP는 자동으로 Object Repository를 생성하고 유지합니다. 언어 지원 Selenium은 Java, C #, Ruby, Python, Perl 등과 같은 여러 프로그래밍 언어를 지원합니다. QTP는 VB 스크립트 만 지원합니다. 공급 업체 지원 Selenium은 무료 도구이므로 사용자는 문제 해결시 공급 업체의 지원을받지 못합니다. 사용자는 문제 발생시 공급 업체의 지원을 쉽게받을 수 있습니다.
Q # 48) WebDriver가 모바일 애플리케이션을 테스트 할 수 있습니까?
WebDriver는 모바일 애플리케이션을 테스트 할 수 없습니다. WebDriver는 웹 기반 테스트 도구이므로 모바일 브라우저의 애플리케이션을 테스트 할 수 있습니다.
Q # 49) 보안 문자를 자동화 할 수 있습니까?
아니요, 보안 문자 및 바코드 리더는 자동화 할 수 없습니다.
Q # 50) Object Repository 란 무엇입니까? Selenium에서 객체 저장소를 어떻게 만들 수 있습니까?
Object Repository는 로케이터 값과 함께 AUT (Application Under Test)에 속하는 웹 요소 모음을 나타내는 데 사용되는 용어입니다. 따라서 스크립트 내에서 요소가 필요할 때마다 로케이터 값을 Object Repository에서 채울 수 있습니다. Object Repository는 로케이터를 스크립트 내에서 하드 코딩하는 대신 중앙 위치에 저장하는 데 사용됩니다.
Selenium에서는 필요할 때마다 스크립트 내부에 채울 수있는 Excel 시트에 개체를 저장할 수 있습니다.
지금은 여기까지입니다.
이 기사에서 가장 자주 묻는 Selenium 및 WebDriver Interview 질문에 대한 답변을 찾을 수 있기를 바랍니다. 여기에 제공된 답변은 Selenium 기본 사항 및 고급 WebDriver 주제를 이해하는데도 도움이됩니다.
여기서 답변되지 않은 셀레늄 인터뷰 질문이 있습니까? 아래 댓글로 알려 주시면 모든 답변을 드리겠습니다.
=> 이것으로이 기사뿐만 아니라 전체 Selenium 교육 시리즈를 마칩니다. 이 페이지에 나열된 30 개 이상의 튜토리얼 목록을 확인하세요. . 귀하의 의견과 질문을 알려주십시오.
추천 도서