테스트 간 변수 전달
  • 24 Oct 2024
  • 5 읽을 분
  • 기여자
  • 어두운

테스트 간 변수 전달

  • 어두운

기사 요약

*이 페이지의 일부는 기계 번역되었습니다.

개요

고객 경험과 비즈니스 스토리를 따르는 테스트를 만들 때 테스트 계획에서 여러 시나리오 간에 값을 전달하고 싶을 수 있습니다. 예를 들어 시나리오 A에서 생성된 주문 ID가 있는데 시나리오 B의 주문 관리 화면에 이를 입력하려고 합니다.

테스트 간 변수 전달을 사용하면 테스트 계획 내에서 실행되는 여러 시나리오 간에 변수를 전달할 수 있으며, 이러한 사용 사례를 위해 정확하게 개발되었습니다. 어떻게 작동하는지 살펴보겠습니다.

작동 방식

테스트 간에 변수 전달은 시나리오에 변수 가져오기변수 내보내기를 추가합니다. 이러한 변수를 사용하면 직렬 실행 테스트 계획에서 테스트 간에 값을 교환할 수 있습니다. 병렬 실행 테스트 계획에서도 사용할 수 있지만 값이 참조되는 순서는 정의되지 않는다는 점에 유의하세요.

가져오기 변수는 다른 테스트의 결과에서 얻은 값을 사용하는 변수입니다. 그러나 예상 변수를 가져오지 않은 경우 미리 정의된 기본값이 사용됩니다. 시나리오를 로컬에서 재생하거나 '지금 실행'을 사용하여 개별적으로 실행할 때도 기본값이 사용됩니다. 변수 가져오기 값은 인수를 받는 모든 단계(예: 입력, 텍스트 어설션, JS 단계 등)에서 사용할 수 있습니다.

반대로 내보내기 변수는 한 시나리오에서 얻은 값을 다른 테스트에서 사용할 수 있도록 정의됩니다. 각 내보내기 변수는 값을 반환하는 스텝(예: JS 스텝 또는 동적 값)과 연결되어야 합니다. 내보내기 변수에는 기본값을 설정할 수 없습니다. 값을 내보낼 수 없는 경우 빈 문자열이 대신 내보내집니다.

variables_en.png

다이어그램에서 볼 수 있듯이 가져오기 변수는 동일한 테스트 계획에서 생성된 내보내기 변수에서 값을 받습니다. 값을 가져오려면 Import 변수와 동일한 키를 사용하여 변수를 내보냈어야 합니다.

가져오기 변수는 즉시 사용할 필요가 없으므로 대상 테스트 전에 실행된 시나리오라면 어떤 시나리오의 내보내기 변수를 참조할 수 있습니다. 변수를 동일한 키로 여러 번 내보낸 경우 가장 최근에 내보낸 값이 사용됩니다.

변수 관련 규칙
  • 각 가져오기 및 내보내기에 대해 최대 50개의 변수를 정의할 수 있습니다.
  • 변수에는 고유한 키가 있어야 합니다.
  • 키 이름에는 영숫자(대소문자 구분) 및 _(밑줄 문자)만 허용됩니다.
  • 변수 값은 최대 1000자까지만 문자열이어야 합니다.

시나리오에서 변수 설정

변수를 설정하는 방법을 살펴보겠습니다. 먼저 시나리오를 녹화한 후 시나리오 상세정보 페이지에서 '옵션' 탭을 클릭하고 '변수 표시 탭'을 클릭합니다.

en-show-variables.png

"변수" 탭으로 이동하면 변수 가져오기변수 내보내기를 추가할 수 있는 화면이 표시됩니다.

en-import-export-variables.png

내보내기 변수 설정

변수를 내보내고 다른 테스트에서 해당 값을 사용할 수 있게 하려면 시나리오에 값을 반환하는 스텝(예: JS 스텝 또는 동적 값 스텝)이 있어야 합니다. 값을 반환하는 스텝이 생성된 후 [변수] 탭을 클릭하여 변수를 설정합니다.

Screen Shot 2023-04-02 at 7.54.06.png

변수 내보내기 섹션에서 스텝의 결과를 내보내기 변수로 지정할 수 있습니다. 단계의 결과** 드롭다운에 내보내기 변수의 값으로 사용할 수 있는 시나리오의 단계 목록이 표시됩니다. 시나리오에 값을 반환하는 단계가 없는 경우에는 드롭다운에 아무것도 표시되지 않습니다.

Screen Shot 2023-04-02 at 7.54.48.png

가져오기 변수 설정

현재 테스트에서 다른 시나리오에서 내보낸 변수를 사용하려면 먼저 해당 변수를 입력 변수로 설정해야 합니다. 변수 가져오기 섹션에서 각 가져오기 변수에 대해 기본값을 지정할 수 있습니다. 추가]를 클릭하여 필요한 각 변수를 정의합니다. 각 입력 변수에 대한 가 대상 내보내기 변수에 대한 와 일치하는지 확인하세요.

Screen Shot 2023-04-02 at 7.39.51.png

변수 전달 작업 중

예시 시나리오

이제 다음 일련의 테스트를 예로 들어 변수 전달이 어떻게 작동하는지 살펴보겠습니다.

  • 시나리오 1

    다음 내보내기 변수를 생성하고 반환합니다:

    • USERNAME
    • PHONE_UMBER
  • 시나리오 2

    시나리오 1에서 입력 단계 및 어설션 단계에 대해 반환된 다음 가져오기 변수를 수신하여 사용합니다:

    • USERNAME
    • PHONE_UMBER

    다음과 같은 새 내보내기 변수를 반환합니다:

    • HEADLINE
  • 시나리오 3

    시나리오 1에서 반환된 사용자 이름과 시나리오 2에서 반환된 헤드라인을 수신하여 JS 스텝에서 사용합니다:

    • USERNAME
    • HEADLINE

이 시나리오를 연속 실행을 위한 테스트 계획에 통합하여 실제로 어떻게 작동하는지 살펴보겠습니다.

각 시나리오에 변수를 설정합니다.

시나리오 1

먼저 후속 테스트에서 사용하려는 값을 반환하는 단계를 만듭니다. 일반적으로 동적 값 또는 화면 또는 API 호출에서 검색된 값을 반환하는 JS 스텝이 될 것입니다. 이러한 종류의 스텝 중 하나를 만드는 방법에 대한 자세한 내용은 다음 문서를 참조하세요:

Screen Shot 2023-04-16 at 17.11.26.png

그런 다음 변수 화면으로 이동하여 내보내기 변수를 추가합니다. 적절한 변수 키를 선택하고 단계의 결과 드롭다운을 사용하여 방금 만든 단계를 설정합니다.

Screen Shot 2023-04-09 at 20.14.22.png

시나리오 1은 테스트 계획에서 가장 먼저 실행할 것으로 예상되는 시나리오이므로 Import 변수는 필요하지 않습니다.

시나리오 2

다음으로 시나리오 1의 값을 받기 위해 시나리오 2를 만들어 보겠습니다. 올바른 변수를 가져오려면 시나리오 1의 내보내기 변수와 동일한 키를 가진 가져오기 변수를 만듭니다. 필요한 경우 시나리오를 단독으로 실행하거나 재생할 때 기본값을 설정합니다(그렇지 않으면 기본값인 빈 문자열이 사용됨).

Screen Shot 2023-04-09 at 20.15.21.png

가져오기 변수가 정의되면 시나리오에서 사용할 수 있습니다. 입력 단계나 텍스트 어설션과 같이 인수를 받는 단계의 세부 정보를 열 때 '변수'를 선택하면 이제 가져오기 변수를 인수로 선택할 수 있습니다.

다음 스크린샷은 가져오기 변수를 사용하여 텍스트 필드의 입력 값을 지정하는 예시입니다.

Screen Shot 2023-04-16 at 9.20.02.png

마찬가지로 Import 변수는 인수를 받는 어설션에도 사용할 수 있습니다.

Screen Shot 2023-04-16 at 9.19.11.png

이 시나리오에도 Export 변수를 추가해 보겠습니다. 이 변수는 이 시나리오 뒤에 오는 모든 시나리오에서 사용할 수 있지만 그 이전의 시나리오에서는 사용할 수 없습니다.

Screen Shot 2023-04-17 at 0.38.39.png

시나리오 3

이미 살펴본 것처럼 이 시나리오를 실행하기 전에 내보낸 변수를 가져오기를 정의할 수 있습니다. 시나리오 3은 시나리오 1과 2에서 변수를 가져올 수 있어야 합니다.

Screen Shot 2023-04-09 at 20.17.54.png

즉, 시나리오 1에서 반환된 값을 시나리오 2에서 반환된 값과 결합할 수 있습니다. 다음 스크린샷은 시나리오 1의 결과에서 가져온 값과 시나리오 2의 결과에서 가져온 값을 인수로 사용하는 JS 단계의 예를 보여줍니다.

Screen Shot 2023-04-16 at 9.30.24.png

위와 같이 이전 테스트 결과에서 가져온 변수를 사용하면 시나리오에서 수행할 수 있는 작업의 범위가 크게 확장됩니다!

테스트 계획 실행

시나리오가 준비되면 테스트 계획을 만듭니다. 시나리오를 실행할 순서대로 추가하고 시퀀셜로 설정합니다.

Screen Shot 2023-04-09 at 21.48.09.png

테스트 계획이 준비되면 실행합니다.

Screen Shot 2023-04-09 at 22.22.26.png

테스트가 성공적으로 실행되면 일반 테스트 계획 결과 페이지가 표시됩니다. 각 테스트 결과 세부 정보로 이동해 보겠습니다.

Screen Shot 2023-04-09 at 22.25.17.png

시나리오 1의 결과

테스트에서 변수를 사용하는 경우 테스트 결과 상세 정보 페이지 상단에 임포트된 변수 섹션과 익스포트된 변수 섹션이 있습니다. 시나리오 1의 결과에는 내보낸 변수의 키-값 쌍이 나열됩니다.

Screen Shot 2023-04-09 at 21.50.48.png

시나리오 2의 결과

이전 테스트 결과에서 가져온 변수의 키-값 쌍을 임포트된 변수 섹션에서 확인할 수 있습니다. 가져온 변수의 각 키-값 쌍 바로 뒤에는 각 값이 반환되는 테스트 결과에 대한 링크가 있습니다. 이 링크는 이러한 값이 어떻게 생성되었는지 자세히 살펴보고 싶을 때(특히 테스트가 실패한 경우) 유용합니다.

Screen Shot 2023-04-09 at 21.51.27.png

시나리오 3의 결과

마지막 결과는 시나리오 2의 결과와 유사하지만 사용된 입력 변수만 표시합니다. 다시 말하지만, 값 오른쪽에 있는 링크는 변수를 생성한 각 테스트 결과에 대한 빠른 참조를 제공합니다.

Screen Shot 2023-04-09 at 21.52.03.png

테스트 간 변수 전달에 대한 기본적인 이해에 도움이 되었기를 바랍니다. 이 기능을 활용하여 다양한 테스트를 만들어 보시기 바랍니다!

자주 묻는 질문

단계 그룹에서 변수를 정의할 수 있나요?

단계 그룹 자체 내에서 변수를 정의할 수는 없지만 단계 그룹을 사용하는 시나리오 내에서 변수를 참조하고 단계 그룹 내에서 변수를 반환하는 것은 가능합니다.

테스트 계획에서 동일한 키를 가진 변수를 여러 번 내보내는 경우 후속 시나리오에서는 어떤 값을 사용하나요?

가장 최근 테스트 결과의 값이 사용됩니다. 동일한 키를 가진 변수는 테스트 계획 내에서 여러 번 내보낼 수 있습니다.

동일한 시나리오에서 가져오기 변수와 내보내기 변수에 동일한 키를 사용할 수 있나요?

가능합니다. 가져온 변수의 값은 시나리오가 실행될 때마다 덮어쓰기됩니다.

여러 실행 환경에서 테스트 계획을 실행할 때 변수 참조는 어떻게 되나요?

변수는 실행 환경 간에 전달될 수 있지만 테스트가 실행되는 순서에 따라 덮어쓰기될 수 있습니다.

예를 들어 테스트 계획에 시나리오 A와 시나리오 B가 있고 실행 환경으로 Chrome/Linux와 iPhone X(에뮬레이터)가 지정된 경우, 실행 순서는 다음과 같습니다:

  1. Chrome/Linux: 시나리오 A
  2. Chrome/Linux: 시나리오 B
  3. iPhone X(에뮬레이터): 시나리오 A
  4. iPhone X(에뮬레이터): 시나리오 B

변수 전달은 여러 실행 환경에서 작동할 수 있지만 4. 는 1. 에서 반환한 값을 참조할 수 없습니다. 이는 3. 이 1. 과 동일한 키를 가진 Export 변수를 반환하므로 4. 가 3. 의 결과를 참조하기 때문입니다.

변수를 데이터와 함께 사용하면 어떻게 되나요?

변수 전달은 데이터를 사용한 테스트 결과에서도 작동합니다. 가져오기 및 내보내기 변수에 동일한 키를 사용하여 구현하면 서로 다른 데이터를 사용하는 동일한 시나리오의 실행 결과 간에 변수를 전달할 수 있습니다.

변수를 가져오는 테스트를 다시 실행하면 어떻게 되나요?

이전 실행과 동일한 값이 사용됩니다.

그러나 실행 후 시나리오의 변수 가져오기를 편집하면 다음과 같이 작동합니다:

  • 사용 중인 가져오기 변수의 기본값이 업데이트된 경우
    • 업데이트된 기본값이 사용됩니다.
  • 새 가져오기 변수가 추가되는 경우
    • 기본값이 사용됩니다.
참고

변수는 시나리오의 가능성을 넓혀주지만 테스트에 또 다른 복잡성을 더할 수도 있습니다. 질문이나 피드백이 있으면 언제든지 문의해 주세요.


이 문서가 도움이 되었습니까?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.