톱 100 셀레니움 인터뷰 질문 및 답변
1) 셀레늄이란 무엇이며 무엇으로 구성되어 있습니까?
Selenium은 자동 웹 테스트를위한 도구 세트입니다. 그것은
- Selenium IDE (Integrated Development Environment) : 녹화 및 재생을위한 도구입니다. 그것은 파이어 폭스 플러그인입니다
- WebDriver 및 RC : Java, .NET, PHP 등과 같은 다양한 언어 용 API를 제공합니다. 대부분의 브라우저에서 Webdriver 및 RC가 작동합니다.
- 그리드 : 그리드를 사용하면 여러 대의 컴퓨터에 테스트를 배포 할 수 있으므로 테스트를 병렬로 실행할 수 있으므로 브라우저 테스트 스위트에서 실행하는 데 필요한 시간을 단축 할 수 있습니다
2) Selenium 2.0이란 무엇입니까?
웹 테스트 도구 Selenium RC와 WebDriver는 Selenium 2.0의 단일 도구로 통합됩니다.
3) Selenium 3.0이란 무엇인가?
Selenium 3.0은 Selenium의 최신 버전입니다. 그것은 셀레늄 3.0의 2 베타 버전을 발표했다.
다음은 Selenium 3.0에 추가 된 몇 가지 새로운 기능입니다.
베타 1 업데이트 |
베타 2 업데이트 (Java 전용) |
|
|
|
|
|
|
4) 셀레늄을 사용하여 요소를 어떻게 찾을 수 있습니까?
Selenium에서 웹 페이지의 모든 객체 또는 컨트롤을 요소라고하며, 웹 페이지에서 요소를 찾는 다양한 방법이 있습니다.
- ID
- Name
- Tag
- Attribute
- CSS
- Linktext
- PartialLink Text
- Xpath etc
5) Selenium에서 지원하는 테스트 유형을 나열 하시겠습니까?
웹 기반 응용 프로그램 테스트를 위해 셀렌을 사용할 수 있습니다.
테스트 유형은 다음과 같이 지원 될 수 있습니다.
a) Functional, Functional Testing에 대해 자세히 알아보십시오 .
b) 회귀 분석
지속적인 통합 자동화 도구를 사용한 사후 릴리스 유효성 확인을 위해 사용할 수 있습니다.
a) 젠킨스
b) 허드슨
c) 빠른 빌드
d) CruiseCont
6) 셀레늄에서 주장이 무엇이고 assertion의 유형은 무엇인지 설명하십시오.
어설션은 검증 포인트로 사용됩니다. 응용 프로그램의 상태가 예상 한 내용과 일치하는지 확인합니다. 어설션 유형은 "assert", "verify"및 "waifFor"입니다.
7) X-path의 사용은 무엇인가?
X-Path는 웹 페이지에서 WebElement를 찾는 데 사용됩니다. 또한 동적 요소를 식별하는 데 유용합니다.
XPath의 Complete Guide를 참조하십시오.
8) X- 경로에서 단일 및 이중 슬래시의 차이점을 설명 하시겠습니까? 단일 슬래시 '/'
- 문서 노드에서 단일 슬래시 (/) 시작 선택
- '절대'경로 표현식을 만들 수 있습니다.
더블 슬래시 '//'
- 이중 슬래시 (//)는 문서의 아무 곳에서나 선택 일치를 시작합니다.
- '상대'경로 표현식 생성 가능
9) Selenium의 기술적 과제를 나열하시오. Selenium의 기술적 과제는 다음과 같습니다.
- Selenium은 웹 기반 애플리케이션 만 지원합니다.
- 비트 맵 비교는 지원하지 않습니다.
- 모든보고 관련 기능은 타사 도구에 의존해야합니다.
- HP UFT와 같은 상용 도구에 비해 도구에 대한 공급 업체 지원이 없음
- Selenium에는 객체 저장소 개념이 없으므로 객체의 유지 관리가 어려워진다.
10) 형식 키와 형식 명령의 차이점은 무엇입니까?
TypeKeys ()는 대부분의 경우 JavaScript 이벤트를 트리거 하지만 .type ()은 그렇지 않습니다. 타입 키는 자바 스크립트를 사용하여 value 애트리뷰트를 채 웁니다. 반면 .typekeys ()는 실제 사용자 타이핑처럼 에뮬레이트합니다
11) verify와 assert 명령의 차이점은 무엇입니까?
Assert : Assert를 사용하면 요소가 페이지에 있는지 여부를 확인할 수 있습니다. 검증 된 요소를 사용할 수없는 경우 테스트는 실패한 단계에서 중단됩니다. 즉, 검사가 실패한 시점에서 검사가 종료됩니다.
Verify : Verify 명령은 요소가 페이지에 있는지 여부를 검사합니다. 그렇지 않으면 테스트가 실행을 계속합니다. 검증에서 모든 테스트가 실패하더라도 모든 명령이 실행될 것입니다.
12) JUnit Annotation이란 무엇이며 다른 유형의 주석이 유용합니까?
JAVA에서는 특별한 형태의 구문 메타 데이터를 Java 소스 코드에 추가 할 수 있습니다.이 주석은 주석으로 알려져 있습니다. 변수, 매개 변수, 패키지, 메소드 및 클래스에는 유용 할 수있는 Junit 주석 중 일부가 주석으로 표시 됩니다.
- Test
- Before
- After
- Ignore
- BeforeClass
- AfterClass
- RunWith
13) 클릭 명령을 사용하는 동안 화면 좌표를 사용할 수 있습니까?
요소의 특정 부분을 클릭하려면 clickAT 명령을 사용해야합니다. ClickAt 명령은 요소 로케이터를 허용하고 x, y 좌표는 인수로 사용합니다. clickAt (locator, cordString)
14) 셀레늄의 장점은 무엇입니까?
- 그것은 C #, PHP, Java, Perl, Phython을 지원합니다.
- Windows, Linux 및 Mac OS와 같은 다른 OS를 지원합니다.
- 그것은 요소를 찾는 강력한 방법을 가지고있다 (Xpath, DOM, CSS)
- Google에서 지원하는 고도의 개발자 커뮤니티가 있습니다.
15) 왜 테스터들은 QTP가 아닌 셀레늄을 선택해야합니까? 셀레늄은 QTP 보다 더 유명 합니다.
- 셀레늄은 오픈 소스이지만 QTP는 상용 도구입니다.
- Selenium은 특별히 웹 기반 응용 프로그램을 테스트하는 데 사용되는 반면 QTP는 클라이언트 서버 응용 프로그램을 테스트하는 데에도 사용할 수 있습니다.
- Selenium은 Windows, Mac, Linux 등의 운영 체제에서 Firefox, IE, Opera, Safari를 지원합니다. 그러나 QTP는 Windows의 Internet Explorer로 제한됩니다.
- Selenium은 Ruby, Perl, Python 과 같은 많은 프로그래밍 언어를 지원하지만 QTP는 VB 스크립트 만 지원합니다.
16) 셀레늄에서 전달해야하는 네 개의 매개 변수는 무엇입니까? Selenium에서 전달해야하는 네 개의 매개 변수는 다음과 같습니다.
- Host
- Port Number
- Browser
- URL
17) setSpeed ()와 sleep () 메소드의 차이점은 무엇입니까?
둘 다 실행 속도를 지연시킵니다.
Thread.sleep () : 지정된 시간 동안 현재 (java) 스레드를 중지합니다. 그것만 한 번 끝냈다.
- 정수 형식으로 단일 인수를 취합니다.
예 : thread.sleep (2000) - 2 초 동안 기다립니다.
- 잠에서 주어진 명령에서 한 번만 대기합니다.
SetSpeed () : 일정 시간 동안 모든 셀렌 명령 실행을 중지합니다.
- 정수 형식으로 단일 인수를 취합니다.
예 : selenium.setSpeed ( "2000") - 2 초 동안 기다립니다.
- setSpeed 지연 후에 설정된 속도로 설정된 밀리 초 단위로 각 명령을 실행합니다.
이 명령은 데모 목적으로 또는 느린 웹 응용 프로그램을 사용하는 경우 유용합니다
18) 동일한 기원 정책은 무엇입니까? 동일한 기원 정책을 피할 수있는 방법은 무엇입니까?
"Same Origin Policy(동일 출처 정책)"은 보안을 위해 도입하고, 사이트의 콘텐츠를 다른 사이트에서 스크립트에서 액세스 할 수 없을 것이라는 점을 보장한다. 정책에 따라 브라우저에로드 된 모든 코드는 해당 웹 사이트 도메인 내에서만 작동 할 수 있습니다.
프록시 인젝션 모드에서 "Same Origin Policy"프록시 인젝션 메소드가 사용되는 것을 피하기 위해 Selenium Server는 클라이언트와 구성된 HTTP 프록시 역할을합니다.이 프록시 는 테스트중인 브라우저와 애플리케이션 사이에 위치하며 허구 URL
19) 권한이 강화 된 브라우저 란 무엇입니까?
강화 된 권한의 목적은 Proxy Injection과 유사하여 웹 사이트가 일반적으로 허용되지 않는 작업을 수행 할 수 있게 합니다. 주요 차이점은 브라우저가 강화 된 권한이라는 특수 모드로 시작된다는 것입니다. 이러한 브라우저 모드를 사용하여 Selenium 코어는 AUT를 직접 열 수 있으며 Selenium RC 서버를 통해 전체 AUT를 전달하지 않고도 내용을 읽고 쓸 수 있습니다.
20) Selenium을 사용하여 양식을 "submit"하는 방법은 무엇입니까?
element to submit form- 에서 "submit"메소드를 사용할수 있다.
element.submit ();
또는 양식 제출을 수행하는 요소에서 click 메소드를 사용할 수 있습니다.
21) TestNG의 기능은 무엇이며 TestNG의 기능 중 일부를 나열하면 더 효과적입니다.
TestNG는 JUnit 및 NUnit을 기반으로하는 테스팅 프레임 워크로서 Unit Testing에서 Integration Testing에 이르기까지 광범위한 테스트 요구를 단순화합니다 . 그리고 효율적인 테스팅 프레임 워크로 만드는 기능은
- annotations 지원
- 데이터 기반 테스팅 지원
- 유연한 테스트 구성
- 실패한 테스트 케이스를 재실행하는 능력
암시 적 대기와 명시 적 대기의 차이점은 무엇인가?
암시 적 대기 : 모든 연속 웹 요소 검색에 대해 시간 초과를 설정합니다. 지정된 시간 동안 NoSuchElementException을 던지기 전에 요소를 반복해서 찾으려고합니다. 요소가 나타날 때까지 기다립니다.
명시 적 대기 : 특정 검색에 사용되는 일회성 타이머입니다.
23) "프레임 ID가없고 프레임 이름이없는 경우"를 위해 스크립트에서 어떤 속성을 고려해야합니까?
... ..driver.findElements (By.xpath ( "// iframe")) ...을 사용할 수 있습니다.
그러면 프레임 목록이 반환됩니다.
각 프레임으로 전환하고 우리가 원하는 로케이터를 검색해야합니다.
그런 다음 루프를 끊으십시오.
24) 요소 찾기 ()와 요소 찾기 ()의 차이점은 무엇입니까?
요소 찾기 () :
주어진 "위치 파악 메커니즘"을 사용하여 현재 페이지 내의 첫 번째 요소를 찾습니다. 단일 WebElement를 반환합니다.
findElements () : 주어진 "위치 파악 메커니즘"을 사용하여 현재 페이지 내의 모든 요소를 찾습니다. 웹 요소 목록을 반환합니다.
25) 셀레늄과 관련된 JUnits 주석은 무엇인지 설명하십시오.
셀레늄과 연결된 JUnits 주석은
- @Before public void method () - 각 테스트 전에 메소드를 수행 할 것이고,이 메소드는 테스트를 준비 할 수있다.
- @Test public void method () - 주석 @Test는이 메소드가 테스트 메소드 환경임을 식별합니다.
- @After public void method () -이 주석을 사용하기 전에 메소드를 실행하려면 test 메소드가 test @ Before로 시작해야합니다.
26) Datadriven 프레임 워크와 키워드 중심이 무엇인지 설명하십시오.
데이터 기반 프레임 워크 : 이 프레임 워크에서 테스트 데이터는 분리되어 테스트 스크립트 외부에 보관되는 반면 테스트 사례 로직은 테스트 스크립트에 있습니다. 테스트 데이터는 외부 파일 (Excel 파일)에서 읽어 와서 테스트 스크립트 내의 변수에로드됩니다. 변수는 입력 값과 검증 값 모두에 사용됩니다.
키워드 구동 프레임 워크 : 키워드 기반 프레임 워크는 테스트 자동화와 독립적으로 데이터 테이블과 키워드를 개발해야합니다. 키워드 기반 테스트에서는 테스트중인 응용 프로그램의 기능이 각 테스트에 대한 단계별 지침과 함께 테이블에 문서화됩니다.
27) 암호 및 사용자 이름에 대한 인증 팝업이 표시되면 어떤 사이트에 로그인 할 수 있는지 설명하십시오.
Pass the username and password with url
- Syntax-http://username:password@url
- ex- http://creyate:tom@www.gmail.com
28) 셀레늄 2.0을 사용하여 웹 페이지 텍스트를 어서 트하는 방법을 설명 하시겠습니까?
WebElement el = driver.findElement (By.id ( "ElementID")))
// 요소에서 테스트를 가져 와서 텍스트 변수에 저장합니다.
String text = el.getText ();
// 예상 한대로 텍스트를 어설 션합니다.
Assert.assertEquals(“Element Text”, text);
29) Borland Silk과 Selenium의 차이점은 무엇입니까?
실크 테스트 도구 |
셀레늄 테스트 도구 |
|
|
|
|
|
|
|
|
30) Object Repository 란 무엇입니까?
객체 리포지토리는 테스터가 테스트 스크립트 전체에 분산되어 있지 않고 하나 이상의 중앙 위치에 있는 스크립트에 사용될 모든 객체를 저장할 수 있게 하는 모든 UI 자동화에서 필수적인 요소입니다.
31) Selenium Grid가 어떻게 작동하는지 설명하십시오.
Selenium Grid 가 허브에 테스트를 보냈습니다. 이 테스트는 브라우저를 실행하고 테스트를 실행하는 Selenium Webdriver로 리디렉션됩니다. 전체 테스트 스위트를 사용하면 테스트를 병렬로 실행할 수 있습니다.
32) 성능 테스트를 위해 Selenium 그리드를 사용할 수 있습니까?
예. 그러나 Loadrunner와 같은 전용 성능 테스트 도구 만큼 효율적이지는 않습니다 .
33) Selenium Server를 통한 Webdriver의 장점을 나열 하시겠습니까?
- Selenium-WebDriver를 사용하는 경우 완전히 다른 기술을 사용하므로 Selenium Server가 필요하지 않습니다.
- Selenium Server는 Selenium 1.0 하위 호환성을 위해 사용되는 Selenium RC 기능을 제공합니다.
- Selenium RC는 자바 스크립트를 브라우저에 삽입해야 하는 반면 Selenium RC는 자동화를 위한 각 브라우저의 네이티브 지원을 사용하여 브라우저를 직접 호출합니다.
34) Selenium WebDriver 또는 Selenium 2.0의 기능은 무엇입니까?
개선 지원이 필요한 경우 WebDriver를 사용해야 합니다.
- 여러 프레임, 팝업, 여러 브라우저 창 및 경고 처리
- 페이지 탐색 및 드래그 앤 드롭
- Ajax 기반 UI 요소
- Selenium 1.0에서 잘 지원하지 않는 브라우저를 위한 향상된 기능을 포함한 다중 브라우저 테스트
35) webdriver가 지원하지 않는 브라우저에서 테스트를 수행하는 기능을 webdriver에 주입하는 동안 발생할 수있는 한계는 무엇입니까?
기능 주입의 주요 제한 사항은 "findElement"명령이 예상대로 작동하지 않을 수 있다는 것입니다.
36) Selenium Web 드라이버를 사용하여 페이지에서 깨진 이미지를 찾는 방법을 설명하십시오.
Selenium 웹 드라이버를 사용하여 페이지에서 깨진 이미지를 찾으려면 다음을 수행하십시오.
- XPath를 가져 와서 태그 이름을 사용하여 페이지의 모든 링크를 가져옵니다.
- 페이지에서 각 링크를 클릭하십시오.
- 대상 페이지 제목에서 404/500을 찾으십시오.
37) 웹 드라이버에서 색상을 처리하는 방법을 설명하십시오.
사용할 수 있는 웹 드라이버의 색상을 처리하려면
getCssValue (arg0) 함수를 사용하여 'color'문자열을 인수로 보내어 색상을 가져옵니다.
38) 웹 드라이버를 사용하여 어떻게 텍스트 상자에 값을 저장할 수 있습니까?
다음 명령을 사용하여 웹 드라이버를 사용하여 텍스트 상자에 값을 저장할 수 있습니다
driver.findElement (By.id ( "your textbox")). sendKeys ( "your keyword");
39) 프레임을 어떻게 전환 할 수 있는지 설명하십시오.
프레임을 전환하려면 webdrivers [driver.switchTo (). frame ()] 메서드는 가능한 세 가지 인수 중 하나를 사용합니다.
- A number:숫자 (0부터 시작)를 기준으로 숫자를 선택합니다.
- A number or ID: 이름 또는 ID로 프레임을 선택하십시오.
- 이전에 발견 된 WebElement : 이전에 위치한 WebElement를 사용하여 프레임 선택
40) 셀레늄 웹 드라이버에서 5 가지 예외가 있다고 언급하셨습니까?
Selenium 웹 드라이버에서 5 가지 예외가 있습니다.
- WebDriverException
- NoAlertPresentException
- NoSuchWindowException
- NoSuchElementException
- TimeoutException
41) Webdriver를 사용하여 더블 클릭을 수행하는 방법을 설명 하시겠습니까?
다음을 사용하여 두 번 클릭을 수행 할 수 있습니다.
- Syntax- Actions act = new Actions (driver);
- act.doubleClick(webelement);
42) Selenium을 사용하여 파일을 업로드하는 방법은 무엇입니까?
"type"명령을 사용하여 업로드 파일의 파일 입력 상자에 입력 할 수 있습니다. 그런 다음 JAVA에서 "Robot"클래스를 사용하여 파일 업로드 작업을 수행해야 합니다.
43) 어떤 웹 드라이버 구현이 가장 빠릅니까?
HTMLUnit 드라이버 구현이 가장 빠릅니다. HTMLUnitDriver는 브라우저에서 테스트를 실행하지 않지만 일반 HTTP 요청은 브라우저를 시작하고 테스트를 실행하는 것보다 빠릅니다
44) Selenium 2.0을 사용하여 프레임을 처리하는 방법을 설명하십시오.
HTML 프레임을 제어하려면 "SwitchTo"프레임 메소드를 사용할 수 있습니다.
driver.switchTo (). frame ( "frameName");
프레임을 지정하려면 인덱스 번호를 사용할 수 있습니다.
driver.switchTo (). frame ( "parentFrame.4.frameName");
이렇게하면 네 번째 하위 프레임 이름 인 "parentFrame"의 "frameName"이라는 프레임 이 제어됩니다.
45) getWindowhandles ()와 getwindowhandle ()의 차이점은 무엇입니까?
getwindowhandles () : 열려있는 모든 브라우저의 주소를 가져 오는 데 사용되며 반환 유형은 Set <String>입니다.
getwindowhandle () : 컨트롤이 있고 반환 유형이 string 인 현재 브라우저의 주소를 가져 오는 데 사용됩니다.
46) 어떻게 프레임에서 다시 전환 할 수 있는지 설명하십시오.
프레임 사용 메서드에서 다시 전환하려면 defaultContent ()
Syntax-driver.switchTo().defaultContent();
47) 로케이터의 다른 유형을 나열하십시오?
로케이터의 종류가 다릅니다.
- By.id()
- By.name()
- By.tagName()
- By.className()
- By.linkText()
- By.partialLinkText()
- By.xpath
- By.cssSelector()
48) 출력 콘솔 또는 로그에 변수 값을 표시하는 데 사용되는 명령은 무엇입니까?
- 상수 문자열을 표시하기 위해 명령을 사용할 수 있습니다 echo <constant string>
- 변수의 값을 표시하려면 echo $ {variable name >>
위의 PHP를 사용하고 있습니다. Java를 사용하는 경우 echo를 System.out.println으로 바꾸십시오.
49) Selenium과 함께 복구 시나리오를 어떻게 사용할 수 있는지 설명하십시오.
복구 시나리오는 사용하는 프로그래밍 언어에 따라 다릅니다. Java를 사용하는 경우 예외 처리를 사용하여 동일성을 극복 할 수 있습니다. Selenium WebDriver Java 테스트에서 "Try Catch Block"사용
50) 테스트 스크립트의 옵션을 반복하는 방법을 설명 하시겠습니까?
테스트 스크립트의 옵션을 반복하려면 프로그래밍 언어의 기능을 루프 할 수 있습니다. 예를 들어 자바의 "for"루프를 사용할 수있는 텍스트 상자에 다른 테스트 데이터를 입력 할 수 있습니다
// 배열에서 데이터 컬렉션을 테스트합니다.
String [] testData = { "test1", "test2", "test3"};
// 각 테스트 데이터를 반복합니다.
For (string s: test data) { selenium.type ( “elementLocator”, testData) ; }
51) 어떻게 하이브리드 프레임 워크에서 TestNG를 사용하여 사용자 정의 html 보고서를 준비 할 수 있습니까?
세 가지 방법이 있습니다.
- Junit : ANT의 도움으로
- TestNG : inbuilt default.html을 사용하여 HTML 보고서를 가져옵니다. 또한 ANT, Selenium, Testng 조합의 XST 보고서
- XML 컨텐트를 HTML로 변환하기 위해 XSL jar를 사용하는 자체 사용자 정의 보고서 사용
52) 테스트 스크립트에서 html 테스트 보고서를 작성하는 방법은 무엇입니까?
HTML 테스트 보고서를 만들려면 세 가지 방법이 있습니다.
- TestNG : inbuilt default.html을 사용하여 HTML 보고서를 가져옵니다. 또한 ANT, Selenium, TestNG 조합의 XLST 보고서
- JUnit : ANT의 도움으로
- XML 컨텐트를 HTML로 변환하기 위해 XSL jar를 사용하는 자체 사용자 정의 보고서 사용
53) 셀레늄 IDE에 중단 점을 삽입하는 방법을 설명 하시겠습니까?
에서 셀레늄 IDE 브레이크 포인트를 삽입
- Selenium IDE에서 명령을 오른쪽 클릭하여 "중단 점 토글"을 선택하십시오.
- 키보드에서 "B"를 누르고 Selenium IDE에서 명령을 선택하십시오.
- Selenium IDE에서 여러 개의 중단 점을 설정할 수 있습니다.
54) Selenium IDE에서 테스트를 디버깅 할 수 있는 방법을 설명하겠습니까?
- 단계별로 테스트를 실행하려는 위치에서 중단 점 삽입
- 테스트 케이스 실행
- 지정된 중단 점에서 실행이 일시 중지됩니다.
- 다음 문장을 계속하려면 파란색 버튼을 클릭하십시오.
- 한 번에 모든 명령을 계속 실행하려면 "실행"버튼을 클릭하십시오.
55) Selenese 란 무엇이며 Selenese의 종류는 무엇입니까?
Selenese는 테스트를 실행하는 데 사용되는 셀렌 명령 집합입니다.
Selenese에는 세 가지 유형이 있습니다.
- Actions : 대상 요소와의 상호 작용 및 작업을 수행하는 데 사용됩니다.
- Assertions : 체크 포인트로 사용됩니다.
- Accessors : 변수에 값을 저장하는 데 사용됩니다.
56) Selenium IDE의 한계점을 설명하시오.
Selenium IDE의 한계
- 예외적 인 취급은 존재하지 않는다.
- Selenium IDE는 HTML 언어 만 사용합니다.
- IDE에서는 외부 데이터베이스 읽기가 불가능합니다.
- .txt, .xls와 같은 외부 파일을 읽을 수 없습니다.
- if, else, select 문과 같은 조건부 또는 분기 문의 실행은 불가능합니다.
57) Selenium IDE의 두 가지보기 모드는 무엇입니까?
Selenium IDE는 팝업 창이나 사이드 바에서 열 수 있습니다.
58) 셀레늄 IDE에서 웹 페이지의 요소를 찾는 데 사용할 수있는 요소 로케이터는 무엇입니까?
셀레늄에는 주로 4 개의 로케이터가 사용됩니다
- X-path locators
- Css locators
- Html id
- Html name
59) Selenium IDE에서 테스트 데이터의 난수와 날짜를 생성하는 방법은 무엇입니까?
Selenium IDE에서 자바 스크립트를 사용하여 난수를 생성 할 수 있습니다.
type
css=input#s
javascript{Math.random()}
And for
type
css=input#s
javascript{new Date()}
60) Selenese IDE 테스트를 Selenese에서 다른 언어로 변환하는 방법은 무엇입니까?
Selenium IDE의 format 옵션을 사용하여 테스트를 다른 프로그래밍 언어로 변환 할 수 있습니다.
61) 셀레늄 IDE를 사용하면 특정 HTML 테이블 셀에서 데이터를 가져올 수 있습니까?
"storeTable"명령을 사용할 수 있습니다.
Example store text from cell 0,2 from an html table
storeTable
Css=#table 0.2
textFromCell
62) Selenium IDE 테스트가 실패하는 원인을 설명하십시오.
- 로케이터가 변경되어 Selenium IDE가 요소를 찾을 수없는 경우
- 액세스를 기다리는 Selenium IDE 요소가 웹 페이지에 나타나지 않고 작업 시간이 초과되었을 때
- Selenium IDE가 액세스하려고 시도 할 때 생성되지 않았습니다.
63) Selenium IDE에서 테스트를 디버깅 할 수 있는 방법을 설명 하시겠습니까?
- 단계별로 실행하려는 위치에서 중단 점 삽입
- 테스트 케이스 실행
- 지정된 중단 점에서 실행이 일시 중지됩니다.
- 다음 단계를 계속하려면 파란색 버튼을 클릭하십시오.
- 한 번에 명령을 실행하려면 실행 버튼을 클릭하십시오.
64) Selenium IDE에서 한 줄을 어떻게 실행시킬 수 있습니까?
Selenium IDE에서 한 줄 명령을 두 가지 방법으로 실행할 수 있습니다.
- Selenium IDE에서 명령을 마우스 오른쪽 버튼으로 클릭하여 "Execute this command"를 선택하십시오.
- Selenium IDE에서 명령을 선택한 후 키보드의 "X"키를 누릅니다.
65) 소스보기가 Selenium IDE에서 스크립트를 보여주는 형식은 무엇입니까?
Selenium IDE 소스보기에서 스크립트를 XML 형식으로 보여줍니다.
66) Selenium IDE에서 어떻게 시작점을 삽입 할 수 있는지 설명 하시겠습니까?
셀레늄 IDE를 설정할 수 있는 두 가지 방법으로
- 키보드의 "S"키를 누르고 Selenium IDE에서 명령을 선택하십시오.
- Seleniun IDE에서 명령을 마우스 오른쪽 버튼으로 클릭하고 "Set / Clear Start Point"를 선택하십시오.
67) 당신이 당신 자신의 엘레멘트 로케이터를 작성했다면 어떻게 그것을 테스트 할 것입니까?
로케이터를 테스트하려면 Selenium IDE의 "찾기 버튼"을 사용할 수 있습니다. 클릭하면 요소 로케이터가 맞다면 엘리먼트가 강조 표시됩니다. 그렇지 않으면 오류 메시지가 표시됩니다.
68) 정규 표현식이란 무엇입니까? Selenium에서 정규식을 사용하는 방법은 무엇입니까?
정규 표현식은 검색 패턴을 설명하는 데 사용되는 특수 텍스트 문자열입니다. Selenium IDE에서 정규식은 keyword- regexp : 와 함께 사용할 수 있습니다 . 값의 접두어로 사용하여 예상되는 값에 패턴을 포함해야 합니다.
69) 핵심 확장이란 무엇입니까?
Selenium Function Library에서 제공하는 기본 기능을 "확장"하려면 Core Extension을 생성 할 수 있습니다. 또한 "사용자 확장"이라고도 합니다. 다른 Selenium 열혈 팬이 만든 기성 코어 확장을 다운로드 할 수도 있습니다.
70) Selenium에서 여러 창을 사용하여 작업하는 방법은 무엇입니까?
selectWindow 명령을 사용하여 창 사이를 전환 할 수 있습니다 . 이 명령은 Windows 제목을 사용하여 전환 할 창을 식별합니다.
71) 웹 요소의 특정 위치를 어떻게 확인할 것입니까?
verifyElementPositionLeft 및 verifyElementPositionTop을 사용할 수 있습니다. 왼쪽과 맨 위에서 요소의 위치를 픽셀 비교합니다
72) 경고 상자에서 메시지를 어떻게 찾을 수 있습니까?
경고 팝업 메시지를 가져 와서 변수에 저장하는 storeAlert 명령을 사용할 수 있습니다.
73) 셀레늄 RC (원격 제어) 란 무엇입니까?
Selenium IDE에는 브라우저 지원 및 언어 지원 측면에서 한계가 있습니다. Selenium RC를 사용함으로써 제한을 줄일 수 있습니다.
- 웹 애플리케이션 자동화를위한 다른 플랫폼과 다른 웹 브라우저에서 셀레늄 RC는 Java, C #, Perl, Python과 같은 언어와 함께 사용됩니다.
- 셀레늄 RC는 자바 기반이며 웹 응용 프로그램과 상호 작용할 수있는 모든 언어를 사용합니다.
- 서버를 사용하면 제한을 무시하고 모든 웹 응용 프로그램에 대해 실행중인 자동화 스크립트를 실행할 수 있습니다.
74) 셀레늄 RC가 사용되는 이유는 무엇입니까?
IDE가 HTML 언어 만 지원하므로 Selenium IDE는 조건문, 반복, 테스트 결과 로깅 및 보고, 예상치 못한 오류 처리 등과 같은 많은 기능을 직접 지원하지 않습니다. 이러한 문제를 해결하기 위해 Selenium RC는 Perl, Ruby, Python, PHP 와 같은 언어를 지원하며 이러한 언어를 사용하여 IDE 문제를 해결할 수 있는 프로그램을 작성할 수 있습니다.
75) 웹 드라이버와 RC의 주요 차이점은 무엇입니까?
Selenium RC와 Webdriver의 주요 차이점은 페이지가로드 될 때 selenium RC가 브라우저에 javascript 기능을 삽입한다는 것입니다. 반면, Selenium Webdriver는 브라우저를 지원하는 브라우저를 사용하여 브라우저를 구동합니다.
76) RC의 장점은 무엇입니까?
RC의 장점은 다음과 같습니다.
- .xls, .txt 등에서 /로 데이터를 읽거나 쓸 수 있습니다.
- 동적 객체 및 Ajax 기반 UI 요소를 처리 할 수 있습니다.
- 성능과 유연성을 높이기 위해 루프와 조건을 사용할 수 있습니다.
- 많은 프로그래밍 언어 및 운영 체제 지원
- 자바 스크립트를 사용할 수있는 브라우저 인 Selenium RC를 사용할 수 있습니다.
77) 프레임 워크 란 무엇이며 RC에서 사용할 수 있는 프레임 워크는 무엇인지 설명하십시오.
라이브러리 및 클래스 모음을 프레임 워크라고 하며 테스터가 테스트 사례를 자동화해야 하는 경우 유용합니다. NUnit, JUnit, TestNG, Bromine, RSpec, unittest는 RC에서 사용할 수있는 프레임 워크 중 일부입니다.
78) 어떻게 RC에서 팝업을 처리 할 수 있습니까?
RC에서 팝업을 처리하려면 selectWindow 메서드를 사용하여 팝업 창이 선택되고 windowFocus 메서드는 현재 윈도우에서 팝업 윈도우로 제어를 허용하고 스크립트에 따라 액션을 수행합니다
79) Selenium RC를 사용하면서 기술적 한계는 무엇입니까?
js의 "동일한 출처 정책"제한 외에도 Selenium은 브라우저 외부의 모든 것을 행사할 수 없도록 제한됩니다.
80) Selenium Grid를 사용하지 않고 하나의 운영 체제에서 두 개의 서로 다른 브라우저에서 테스트를 수행 할 수 있습니까?
예, JAVA 테스트 프레임 워크를 사용하지 않을 때 가능합니다. 셀레늄의 java 클라이언트 드라이버를 사용하는 경우 Java 테스트 프레임 워크를 사용하는 대신 TestNG를 사용하여 이 작업을 수행 할 수 있습니다. "parallel = test"속성을 사용하면 테스트를 병렬로 실행하도록 설정할 수 있으며 각각 다른 브라우저를 사용하는 두 가지 테스트를 정의 할 수 있습니다.
81) Selenium RC에서 TestNG를 사용하는 이유는 무엇입니까?
다른 서버 및 클라이언트 플랫폼에 대해 완전 자동화를 원한다면 명령 행 프로세스에서 테스트를 호출하는 방법, 테스트 스위트를 작성하는 방법의 유연성 및 유연성을 알려주는 보고서가 필요합니다. TestNG는 이러한 유연성을 제공합니다.
82) 서버 측 로그 Selenium Server를 어떻게 캡처 할 수 있는지 설명하십시오.
Selenium Server에서 서버 측 로그를 캡처하려면 다음 명령을 사용할 수 있습니다.
- java -jar .jar -log selenium.log
83) 이외의 기본 포트 4444 Selenium Server를 어떻게 실행할 수 있습니까?
기본 포트가 아닌 java-jar selenium-server.jar-port에서 Selenium 서버를 실행할 수 있습니다.
84) 셀레늄 그리드 허브가 RC 슬레이브 머신과 어떻게 접촉합니까?
미리 정의 된 시간에 셀레늄 그리드 허브는 모든 RC 슬레이브를 폴링하여 테스트에 사용할 수 있는지 확인합니다. 결정 매개 변수는 "remoteControlPollingIntervalSeconds"라고 하며 "grid_configuration.yml"파일에 정의됩니다.
85) Selenium을 사용하여 네트워크 대기 시간을 어떻게 처리 할 수 있습니까?
네트워크 대기 시간을 처리하려면 네트워크 대기 시간에 driver.manage.pageloadingtime을 사용할 수 있습니다.
86) 텍스트 상자에 값을 입력하려면 사용할 수있는 명령은 무엇입니까?
텍스트 상자에 값을 입력하려면 sendkeys () 명령을 사용할 수 있습니다.
87) 셀레늄을 사용하여 객체를 어떻게 식별합니까?
Selenium을 사용하여 객체를 식별하려면 다음을 사용할 수 있습니다.
isElementPresent (String locator)
isElementPresent는 인수로서 locator를 취해, 발견되었을 경우는 Boolean를 돌려 준다
88) Selenium에서 중단 점과 시작점은 무엇입니까?
- 중단 점 : 코드에 중단 점을 구현하면 실행이 바로 중단됩니다. 이렇게 하면 코드가 예상대로 작동하는지 확인할 수 있습니다.
- 시작점 시작 지점은 실행이 시작되어야 하는 지점을 나타냅니다. 시작 지점은 코드 또는 중단 점의 중간에서 테스트 스크립트를 실행하려는 경우에 사용할 수 있습니다.
89) Selenium에서 Java에 비해 Python을 선택하는 이유는 무엇인가?
선호하는 몇 가지 포인트 파이썬 셀레늄이 함께 사용하는 자바를 통해,
- Java 프로그램은 Python 프로그램에 비해 느리게 실행되는 경향이 있습니다.
- 자바는 전통적인 중괄호를 사용하여 블록을 시작하고 끝내고 파이썬은 들여 쓰기를 사용합니다.
- Java는 정적 유형 지정을 사용하는 반면 Python은 동적 유형 지정을 사용합니다.
- 파이썬은 자바에 비해 간단하고 컴팩트합니다.
90) Selenium Webdriver에서 Ajax Call을 처리 할 때의 문제점은 무엇입니까?
Selenium Webdriver에서 Ajax Call을 처리 할 때 직면하는 문제는
- Ajax 호출을 처리하기 위해 "일시 중지"명령을 사용하는 것은 완전히 신뢰할 수 없습니다. 긴 멈춤 시간은 테스트를 받아 들일 수 없을 정도로 느리게 만들고 테스트 시간을 증가시킵니다. 대신, "waitforcondition"은 Ajax 애플리케이션을 테스트 할 때 더 유용 할 것이다.
- 특정 Ajax 응용 프로그램과 관련된 위험을 평가하는 것은 어렵습니다.
- 개발자가 Ajax 응용 프로그램을 수정할 수있는 자유가 주어지면 테스트 프로세스가 까다로워집니다.
- AJAX 응용 프로그램은 다른 인코딩이나 직렬화 기술을 사용하여 POST 데이터를 제출하기 때문에 자동화 된 테스트 요청을 작성하는 것이 테스트 도구에서는 어려울 수 있습니다.
91) IntelliJ 란 무엇인가?
Intellij는 Selenium을 위한 더 빠르고 더 빠른 코드 작성을 도와주는 IDE입니다. Intellij는 Java bean 및 Eclipse 옵션에서 사용할 수 있습니다.
92) TestNG 보고서를 어떤 방식으로 사용자 정의 할 수 있는지 언급 하시겠습니까?
두 가지 방법으로 TestNG 보고서를 사용자 정의 할 수 있습니다.
- ITestListener 인터페이스 사용
- IReporter 인터페이스 사용
93) pdf 보고서를 생성하려면 Java API가 필요합니까?
pdf 보고서를 생성하려면 Java API IText가 필요합니다.
94) Selenium WebDriver의 Listener 란 무엇인가?
Selenium WebDriver에서 Listener는 셀렌 스크립트에 정의 된 이벤트를 "수신"하고 그에 따라 동작합니다. TestNG 보고서 또는 로그를 사용자 정의 할 수 있습니다. WebDriver Listener와 TestNG Listener라는 두 가지 주요 수신기가 있습니다.
95) TestNG 의 Listener 유형은 무엇 인가?
TestNG의 Listener 유형은 다음과 같습니다.
- IAnnotationTransformer
- IAnnotationTransformer2
- IConfigurable
- IConfigurationListener
- IExecutionListener
- IHookable
- IInvokedMethodListener
- IInvokedMethodListener2
- IMethodInterceptor
- IReporter
- ISuiteListener
- ITestListener
96) 원하는 기능이 무엇인지 언급하시오. Selenium의 관점에서 어떻게 유용합니까?
원하는 기능은 런타임에 브라우저의 동작을 결정하기 위해 브라우저 이름, 브라우저 버전, 시스템의 브라우저 드라이버 경로 등과 같은 브라우저 속성을 저장하는 일련의 키 / 값 쌍입니다.
셀레늄의 경우,
- Selenium WebDriver의 드라이버 인스턴스를 구성하는 데 사용할 수 있습니다.
- 다른 운영 체제 및 버전이있는 다른 브라우저에서 테스트 사례를 실행하려는 경우.
97) Selenium Webdriver에서 데이터베이스 테스트를하려면 어떤 API가 필요합니까?
를 들어 데이터베이스 테스트 셀레늄 Webdriver에서, 당신은 JDBC (Java 데이터베이스 연결) API가 필요합니다. SQL 문 을 실행할 수 있습니다 .
98) AutoIT를 사용할 때 언급?
Selenium은 다양한 브라우저에서 웹 기반 애플리케이션을 자동화하도록 설계되었습니다. 그러나 응용 프로그램에서 윈도우 GUI 및 비 HTML 팝업을 처리하려면 AutoIT가 필요합니다. Selenium과 함께 AutoIT를 사용하는 방법에 대해 더 많이 알고 싶습니다.
99) Selenium과 함께 작업하는 동안 Session Handling이 필요한 이유는 무엇인가?
Selenium과 함께 작업하는 동안 Session Handling이 필요합니다. 이는 테스트 실행 중에 Selenium WebDriver가 주어진 명령을 실행하기 위해 항상 브라우저와 상호 작용해야하기 때문입니다. 실행시 현재 실행이 완료되기 전에 다른 사람이 같은 컴퓨터에서 동일한 유형의 브라우저에서 다른 스크립트의 실행을 시작하는 것도 가능합니다. 따라서 이러한 상황을 피하기 위해 세션 처리가 필요합니다.
100) Using Git Hub for Selenium의 장점은 무엇입니까?
Git Hub를 Selenium에 사용하면 장점이 있습니다.
- 동일한 프로젝트에서 여러 사람이 작업 할 때 프로젝트 세부 정보를 업데이트하고 다른 팀 구성원에게 동시에 알릴 수 있습니다.
- Jenkins는 원격 저장소에서 프로젝트를 정기적으로 구축하도록 도울 수 있습니다. 이렇게 하면 실패한 빌드를 추적하는 데 도움이 됩니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
Selenium의 드래그 앤 드롭 액션 dragAndDrop dragAndDropBy (0) | 2019.01.11 |
---|---|
셀레늄과 함께 cucumber 사용 (0) | 2019.01.10 |
Selenium IDE의 중단점 및 시작점 (0) | 2019.01.08 |
Selenium WebDriver에서 Firefox 프로필을 만드는 방법 (0) | 2019.01.07 |
Selenium의 XSLT 보고서 (0) | 2019.01.06 |