제어 흐름
Selenium IDE에는 테스트에 조건부 논리 및 루핑을 추가 할 수있는 명령이 제공됩니다.
이를 통해 응용 프로그램의 특정 조건이 충족 될 때만 명령 (또는 일련의 명령)을 실행하거나 사전 정의 된 기준에 따라 반복적으로 명령을 실행할 수 있습니다.
자바 스크립트 표현식
애플리케이션의 조건은 JavaScript 표현식을 사용하여 확인합니다.
execute script또는 execute async script명령을 사용 하여 테스트 도중 언제라도 JavaScript 스니펫을 실행하고 결과를 변수에 저장할 수 있습니다.
이 변수는 제어 흐름 명령에서 사용할 수 있습니다.
제어 흐름 명령에서 JavaScript 표현식을 직접 사용할 수도 있습니다.
사용 가능한 명령
제어 흐름 명령은 명령 집합 (또는 블록)을 나타내는 열기 및 닫기 명령을 지정하여 작동합니다.
다음은 동반 및 종료 명령과 함께 사용 가능한 각 제어 흐름 명령입니다.
- if, else if, else,end
- times, end
- do, repeat if
- while, end
각각의 예를 살펴 보겠습니다.
조건부 분기
조건부 분기를 사용하면 테스트의 동작을 변경할 수 있습니다.
if
조건부 블록의 시작 명령입니다.
이와 함께 평가하고자하는 JavaScript 표현식을 제공합니다. 테스트의 이전 JavaScript 표현식에서 작성된 변수로 구성 될 수 있습니다. 이 모든 것은 if 명령의 [target] 입력 필드에 들어갑니다.
if문이 [true]로 평가되면 다음 조건부 제어 흐름 명령이 나올 때까지 후속 명령을 실행합니다. (예를 들어 else if, else또는 end).
if문이 [false]로 평가되면 뒤에 오는 명령을 건너 뛰고 다음 관련 조건부 제어 흐름 명령으로 건너 뜁니다. (예를 들어 else if, else또는 end).
else if
[if]와 마찬가지로 [target] 입력 필드에서 JavaScript 표현식을 사용하여 평가하거나이를 따르는 명령 분기를 실행하거나 다음 관련 제어 흐름 명령 (예 : else또는 end)으로 건너 뜁니다.
else
[else]는 [if] 블록에서 가질 수있는 최종 조건입니다. 이전 조건이 충족되지 않으면이 명령 분기가 실행됩니다.
완료되면 [end] 명령으로 이동합니다.
end
이 명령은 조건부 명령 블록을 종료합니다. 그것이 없으면 명령 블록이 불완전하며 테스트를 실행할 때 알려주는 유용한 오류 메시지가 나타납니다.
반복문(루핑)
루핑을 사용하면 주어진 명령 세트를 반복 할 수 있습니다.
times
[times]를 사용하면 일련의 명령을 수행 할 반복 횟수를 지정할 수 있습니다. 숫자는 [times] 명령의 [target] 입력 필드로 이동합니다.
[times] 명령 블록을 닫으려면 반드시 [end] 명령을 사용하십시오
do
이 루프를 [do] 명령으로 시작한 다음 실행하려는 명령을 시작하고 [repeat] if 명령으로 끝납니다. [if] 반복은 대상 입력 필드에서 평가하려는 JavaScript 표현식을 사용합니다. [do] 뒤의 명령이 먼저 실행 된 다음 [repeat if]의 표현식이 평가됩니다. 식이 [true]를 반환하면 테스트는 [do] 명령으로 되돌아 가서 시퀀스를 반복합니다.
이것은 조건이 [false]를 반환하거나 무한 루프 보호가 트리거 될 때까지 지속되며 기본값은 [1000]입니다. [repeat if] 명령의 [value] 입력 필드에 숫자를 지정하여이 기본값을 대체 할 수 있습니다.
while
[while]을 사용하면 [target] 입력 필드에서 평가하려는 JavaScript 표현식을 제공합니다. true로 평가되면 뒤에 오는 명령 블록이 종료 명령에 도달 할 때까지 실행됩니다.
완료되면 테스트는 [while] 명령으로 되돌아 가서 동일한 순서를 반복합니다 (먼저 조건이 [true] 또는 [false]로 바뀌는 지 확인).
[while] 명령 블록을 닫으려면 [end] 명령을 사용하십시오.
조건이 [false]를 반환하거나 무한 루프 보호가 트리거 될 때까지 루프가 재 시도됩니다. 기본값은 [1000]입니다. [while] 명령의 [value] 입력 필드에 숫자를 지정하여이 기본값을 대체 할 수 있습니다.
forEach
마지막으로 최고의 효율적으로 하기 위해 컬렉션 (예 : JS 배열)을 반복하고 컬렉션 동안 각 항목을 참조하는 기능이 있습니다.
에서 target필드 당신은 당신이 반복 할 배열을 포함하는 변수의 이름을 지정합니다. 에서 value필드 당신은 당신이 사용하고자하는 반복자 변수의 이름을 지정합니다. 배열의 각 항목에 대해 다음 명령이 실행됩니다. 반복 할 때마다 반복자 변수를 통해 현재 항목의 내용에 액세스 할 수 있습니다.
[target] 필드에서 반복하려는 배열을 포함하는 변수의 이름을 지정하십시오. [value] 필드에서 사용하려는 반복자 변수의 이름을 지정하십시오. 배열의 각 항목에 대해 다음 명령이 실행됩니다. 반복 할 때마다 반복자 변수를 통해 현재 항목의 내용에 액세스 할 수 있습니다.
중첩 명령
필요에 따라 제어 흐름 명령을 내포 할 수 있습니다 (예 : if 블록이 [while] 블록 안에있을 수 있으며 그 반대도 가능합니다).
구문 검증
제어 흐름 구문이 올바른지 확실하지 않으면 테스트를 실행하여 확인하십시오. IDE는 제어 흐름 구문에서 오류를 발견하고 부정확하거나 누락 된 특정 명령을 호출합니다.
'자동화테스트 > Selenium' 카테고리의 다른 글
셀레니움 ide 자주 묻는 질문 (0) | 2020.02.19 |
---|---|
셀레니움 IDE - 코드 내보내기 (0) | 2020.02.18 |
[selenium] 셀레니움 IDE 커맨드라인러너(Command-line Runner) (0) | 2020.02.14 |
[selenium] 셀레니움 IDE 기본 기능 알아보니... (0) | 2020.02.13 |
셀레니움 자바코드 예제 (0) | 2020.02.12 |