변수, 에코, 경고, 팝업 처리를 저장합니다. Selenium IDE
⚡ 스마트 요약
명령어를 저장합니다 Selenium IDE는 런타임 값을 명명된 변수에 저장하고, echo 명령은 해당 값을 로그에 출력하며, 전용 명령 모음은 경고, 확인 대화 상자 및 여러 브라우저 창 간 전환을 처리합니다.
이 튜토리얼에서는 스토어 명령, 에코 명령, 그리고 알림 및 팝업 처리 방법을 배우게 됩니다. Selenium IDE이 명령어들을 함께 사용하면 고정된 기록 스크립트를 런타임에 애플리케이션이 반환하는 값에 반응하는 스크립트로 바꿀 수 있습니다.
⚠️ 버전 관련 유의사항: 아래 스크린샷은 원본에서 가져온 것입니다. Firefox-플러그인 Selenium IDE에서 사용하는 명령어는 셀레네어식 카멜케이스 이름을 사용합니다. 현재 크롬에서는, Firefox Edge 확장 프로그램은 동일한 동작을 유지하지만 대부분의 명령 이름에 공백을 넣어 씁니다. 맵ping 표는 이 글의 끝부분에 나와 있으며, 모든 원래 명령어와 스크린샷은 게시된 그대로 보존되어 있습니다.
Selenium IDE 변수
스토어
변수를 저장하려면 Selenium IDE에서 우리는 다음을 사용합니다. 저장 명령입니다. 아래 그림은 "튜토리얼" 값을 "myVariable"이라는 변수에 저장합니다.
변수에 접근하려면 변수를 ${ … } 기호로 묶으면 됩니다. 예를 들어, "myVariable" 변수의 값을 "userName" 입력란에 입력하려면 다음과 같이 하면 됩니다. Mercury 투어의 경우 값 필드에 ${myVariable}을 입력합니다.
에코 커맨드 Selenium IDE
저장된 변수는 무언가가 출력하기 전까지는 보이지 않습니다. 바로 그것이 핵심입니다. 에코 해당 명령어는 재생 중에 IDE 로그 창에 메시지를 기록하므로, 저장 명령이 예상대로 실행되었는지 가장 빠르게 확인할 수 있으며, 이를 기반으로 검증을 진행하기 전에 정확한 결과를 얻을 수 있습니다.
이 명령어는 다음 두 가지 형식 모두 허용합니다.
- 말 그대로 문자열입니다. 텍스트를 안에 넣으세요 Target 예를 들어 분야 로그인 단계 완료긴 스크립트에서 검토 지점을 표시하기 위해 사용합니다.
- 변수. ${myVariable}을 입력하세요 Target 해당 필드의 저장된 값이 이름 대신 출력됩니다.
echo 명령어를 처음 생각했던 것보다 훨씬 유용하게 만드는 두 가지 습관이 있습니다. 변수를 생성하는 store 명령 직후에 변수를 출력하는 것입니다. 이렇게 하면 오류가 발생했을 때 바로 알 수 있습니다. trac20단계 뒤에 나오는 어설션이 아니라 캡처에 바로 연결하세요. 그리고 로그 창에 모든 명령이 하나의 평면 목록으로 표시되므로 각 메시지 앞에 해당 단계 이름을 붙이세요. 참고로 echo 명령은 로그에만 기록하고 페이지를 변경하거나 테스트를 실패시키지 않으므로 스크립트에 영구적으로 남겨두어도 안전합니다.
StoreElementPresent
이 명령은 지정된 요소의 존재 여부에 따라 "true" 또는 "false" 값을 저장합니다. 아래 스크립트는 부울 값 "true"를 "var1"에, "false"를 "var2"에 저장합니다. 확인을 위해 echo 명령을 사용하여 var1과 var2의 값을 출력해 보겠습니다. URL 아래 그림의 경우 다음과 같이 설정되었습니다. Mercury 투어 홈페이지.
StoreText
이 명령어는 요소의 내부 텍스트를 변수에 저장하는 데 사용됩니다. 아래 예시는 페이스북 회원가입 페이지의 h1 태그 내부 텍스트를 "textVar"라는 변수에 저장하는 방법을 보여줍니다.
해당 페이지에 같은 종류의 요소가 하나뿐이므로 "css=h1"을 대상으로 사용하는 것이 안전합니다. 아래 이미지가 이를 보여줍니다. Selenium IDE는 "Sign Up"이라는 문자열을 "textVar" 변수에 저장할 수 있었습니다. echo 명령어가 해당 값을 정확하게 출력했기 때문입니다.
경고, 팝업 및 다중 Windows
알림창은 아마도 팝업창 중에서 가장 간단한 형태일 것입니다. 가장 흔한 형태는 다음과 같습니다. Selenium 경고를 처리하는 데 사용되는 IDE 명령은 다음과 같습니다.
| 알림 | 사용 |
|---|---|
|
경고 주장 경고하지 않음 주장 |
경고 메시지를 가져와 사용자가 지정한 문자열 값과 비교합니다. |
|
AssertAlertPresent AssertAlertNotPresent |
경고가 있는지 여부를 확인합니다. |
| 매장알림 | 경고 메시지를 검색하여 사용자가 지정한 변수에 저장합니다. |
| storeAlertPresent | 경고가 있으면 TRUE를, 없으면 FALSE를 반환합니다. |
|
경고 확인 확인하지 않음 |
경고 메시지를 가져와서 사용자가 지정한 문자열 값과 일치하는지 확인합니다. |
|
verifyAlertPresent verifyAlertNotPresent |
경고가 있는지 여부를 확인합니다. |
경고 작업 시 다음 두 가지 사항을 기억하십시오.
- Selenium IDE가 경고 창의 확인 버튼을 자동으로 클릭하기 때문에 실제 경고 메시지를 볼 수 없습니다.
- Selenium IDE는 페이지의 onload() 함수 내에서 발생하는 알림을 처리할 수 없습니다. 페이지가 완전히 로드된 후에 생성되는 알림만 처리합니다.
이 예제에서는 storeAlert 명령을 사용하여 다음과 같은 상황을 보여줍니다. Selenium IDE는 실제 경고 메시지를 표시하지는 않았지만, 메시지 자체는 가져올 수 있었습니다.
단계 1) In Selenium IDE, 베이스 설정 URL http://jsbin.com으로 이동합니다. 전체 URL http://jsbin.com/usidix입니다. 이 jsbin 코드 조각들은 다음 시점부터 제공됩니다. Firefox-플러그인 시대이며 더 이상 해결되지 않을 수 있습니다. 경고를 발생시키는 버튼이 있는 모든 페이지에서 동일한 결과가 나타납니다.
단계 2) 아래와 같이 스크립트를 작성하세요. `click` 명령은 "Go!" 버튼을 대상으로 하고, `storeAlert`는 메시지를 `alertMessage`에 저장하며, `echo`는 해당 메시지를 출력합니다.
단계 3) 스크립트를 실행해도 실제 경고 메시지가 표시되지 않을 수 있습니다. 아래 로그 창에는 대화 상자가 나타나지 않았음에도 불구하고 캡처된 메시지가 표시됩니다.
확인
확인 메시지는 알림 메시지와 달리 확인 버튼과 취소 버튼이 있는 팝업 창입니다. 알림 메시지는 확인 버튼만 제공합니다. 확인 메시지를 처리하는 데 사용할 수 있는 명령은 알림 메시지를 처리하는 데 사용할 수 있는 명령과 동일합니다.
- assertConfirmation / assertNotConfirmation
- assertConfirmationPresent / assertConfirmationNotPresent
- 매장확인
- 점포확인선물
- 확인 확인 / 확인 안 함
- verifyConfirmationPresent / verifyConfirmationNotPresent
또한, 이러한 명령은 다음과 같이 알려줍니다. Selenium 확인 버튼과 취소 버튼 중 어떤 버튼을 선택해야 할까요?
- 다음 확인에서 확인 선택 / 다음 확인에서 확인 후 대기
- chooseCancelOnNext확인
다음 명령어를 입력하세요 전에 확인 상자를 표시하는 명령은 다음과 같습니다. Selenium IDE는 어떤 옵션을 선택해야 하는지 미리 알고 있습니다. 따라서 스크립트 실행 중에는 실제 확인 상자가 표시되지 않습니다.
사용자가 '확인' 또는 '취소' 버튼을 눌렀는지 여부를 알려주도록 코딩된 버튼이 있는 웹페이지를 테스트해 보겠습니다.
단계 1) In Selenium IDE, 베이스 설정 URL http://jsbin.com으로 이동합니다. 전체 URL http://jsbin.com/enifaf입니다.
단계 2) 아래와 같이 스크립트를 생성하세요. 이번에는 먼저 확인 버튼을 누르겠습니다.
단계 3) 스크립트를 실행하면 실제 확인 메시지는 표시되지 않지만 웹페이지에는 어떤 버튼을 클릭했는지 여전히 표시되는 것을 확인할 수 있습니다. Selenium IDE가 눌렸습니다.
단계 4) chooseOkOnNextConfirmation 명령을 chooseCancelOnNextConfirmation으로 바꾸고 스크립트를 다시 실행하세요. 이제 페이지에 반대되는 선택 사항이 표시됩니다.
배수 Windows
링크를 클릭하여 새 창이 열리면 먼저 다음 단계를 진행해야 합니다. Selenium IDE에서 해당 창을 선택해야만 창 내부의 요소에 접근할 수 있습니다. 기존 IDE에서는 창 제목을 창의 위치로 사용했습니다.
우리는 selectWindow 명령어를 사용하여 창 사이를 전환합니다.
우리는 "첫 번째 창"이라는 제목의 링크(http://jsbin.com/ocinaj/1)를 사용할 것입니다. 해당 페이지의 "여기" 하이퍼링크를 클릭하면 페이스북이 새 창에서 열리고, 그 후에 다음 단계를 안내합니다. Selenium IDE를 사용하여 다음을 수행합니다.
- 부모 창에서 새로 실행된 페이스북 창으로 제어권을 옮기려면 창 제목을 로케이터로 사용하여 selectWindow 명령을 실행하세요.
- 새 창의 제목을 확인하십시오.
- selectWindow 명령을 사용하여 대상 창을 "null"로 설정하고 원래 창을 다시 선택합니다.
- 현재 선택된 창의 제목을 확인하십시오.
위의 계획은 여기에 표시된 4단계 순서로 변환됩니다.
단계 1) 기초를 설정하세요 URL http://jsbin.com으로 이동합니다.
단계 2) 아래와 같이 스크립트를 작성합니다.
새로 실행된 창이 완전히 로드될 때까지 기다린 후 제목을 읽으려면 일시 정지 명령이 필요합니다.
단계 3) 스크립트를 실행합니다. 주의할 점은 테스트 사례 통과했습니다. 즉, 창 사이를 전환하고 제목을 성공적으로 확인할 수 있었습니다.
selectWindow의 대상을 "null"로 설정하면 자동으로 부모 창이 선택된다는 점을 항상 기억하세요. 이 경우 "link=here" 요소가 있는 창이 선택됩니다.
참고 : 이 튜토리얼이 작성된 이후 페이스북 페이지 제목이 변경되었습니다. 스크립트에서 예상되는 제목을 accordingly 수정하십시오.
현대 Selenium 이러한 명령에 해당하는 IDE 명령어
The Firefox-plugin IDE는 다음과 같은 이유로 서비스가 종료되었습니다. Firefox 웹 확장 아키텍처로 전환되었고, 현재 크롬에서는 Firefox Edge 확장 프로그램은 대부분의 Selenese 명령어를 띄어쓰기된 형태로 이름을 변경했습니다. 동작 방식은 변경되지 않았으므로 아래 표만 있으면 현재 설치된 시스템에서 위의 스크립트를 읽을 수 있습니다.
| 이 튜토리얼의 레거시 명령어 | Current Selenium IDE 명령어 |
|---|---|
| 저장 | 저장 |
| 에코 | 에코 |
| storeText | 텍스트를 저장하세요 |
| storeElementPresent | 요소가 존재한다고 저장하거나 요소가 존재한다고 주장합니다. |
| assertAlert / verifyAlert | 어설션 경고 / 검증 경고 |
| 다음 확인에서 확인을 선택하세요 | 다음 확인에서 '확인'을 선택하세요. |
| chooseCancelOnNext확인 | 다음 확인 시 취소를 선택하세요 |
| selectWindow(제목을 대상으로 함) | 핸들이 ${handle}인 창을 선택하세요 |
주목할 만한 두 가지 차이점이 있습니다. 기존 문서에서는 다루지 않았던 프롬프트에 이제 별도의 명령어가 추가되었습니다. 다음 질문에 답하세요 대화창이 나타나기 전에 답변을 계획합니다. 웹드라이버 응답이 표시되는 프롬프트에 나타납니다. 이미 열려 있는 프롬프트에 입력합니다. 그리고 창 전환은 더 이상 페이지 제목에 의존하지 않습니다. 실행 매장 창문 손잡이 먼저 핸들을 캡처한 다음 전달합니다. 핸들=${yourHandle} 창을 선택하도록 변경되었습니다. 이 변경 사항은 위 메모에 설명된 오류 모드, 즉 사이트에서 페이지 이름을 변경하면 스크립트가 창을 찾지 못하는 문제를 해결합니다. 공식 Selenium IDE 프로젝트 사이트 현재 사용 가능한 전체 명령어 세트를 나열합니다.













