자동화테스트/Selenium2020. 2. 17. 08:00

제어 흐름

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는 제어 흐름 구문에서 오류를 발견하고 부정확하거나 누락 된 특정 명령을 호출합니다.

 

 

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터