시나리오 간 로그인 상태 공유 방법

Prev Next

개요

이 페이지에서는 테스트 플랜의 첫 번째 시나리오에서 로그인 조작을 수행하고, 해당 인증 정보(Cookie 또는 Token)를 후속 시나리오로 이월하는 절차에 대해 설명합니다. 이 설정을 통해 여러 시나리오에서 로그인 상태를 유지한 채 테스트를 실행할 수 있습니다.

사전 준비

이 절차를 수행하려면 개발 담당자에게 로그인 상태 유지에 필요한 Cookie 이름 및 속성 정보(Domain, Path, Secure 등)를 확인하세요.

절차

1. 워크스페이스 변수 만들기

워크스페이스 변수 생성를 참고하여 인증 정보를 저장할 변수를 만듭니다. (예: AUTH_TOKEN)

2. 로그인용 시나리오 만들기 (인증 정보 가져오기)

테스트 플랜의 처음에 실행할 시나리오를 만들고, 인증 정보를 가져와 단계 1에서 만든 워크스페이스 변수에 저장합니다.

  1. 새 시나리오를 만들고 로그인 조작을 기록합니다.

  2. 시나리오 에디터에서 스텝 삽입을 클릭하고 Playwright 코드 스텝을 선택합니다.

  3. 다음 코드를 참고하여 인증 정보를 가져와 값을 반환하는 코드를 입력합니다.

    const cookies = await page.context().cookies();
    // 구체적인 Cookie 이름은 개발 담당자에게 확인해 주세요
    const sessionCookie = cookies.find(c => c.name === 'COOKIE_NAME');
    // 후속 스텝에서 사용하기 위해 값을 반환합니다
    return sessionCookie ? sessionCookie.value : '';
    
  4. 추가한 스텝 아래에서 다시 스텝 삽입을 클릭하고 워크스페이스 변수 덮어쓰기를 선택합니다.

  5. 덮어쓸 변수에서 단계 1에서 만든 변수를 선택합니다.

  6. 의 입력 방법으로 다른 스텝의 결과를 선택합니다.

  7. 참조 대상으로 직전의 "Playwright 코드 스텝"을 선택합니다.

  8. 저장을 클릭합니다.

3. 후속 시나리오 만들기 (인증 정보 사용)

인증 정보를 사용하는 후속 시나리오를 만듭니다.

  1. 새 시나리오를 만듭니다.

  2. 시나리오의 첫 번째 스텝으로 스텝 삽입을 클릭하고 Playwright 코드 스텝을 추가합니다.

  3. 다음 코드를 참고하여 Cookie를 설정하고 페이지에 액세스하는 코드를 입력합니다. ※ {{AUTH_TOKEN}} 부분은 단계 1에서 만든 변수명에 맞춰 기술해 주세요.

await context.addCookies([
  {
    name: 'COOKIE_NAME',      // 실제 Cookie 이름
    value: '{{AUTH_TOKEN}}',  // 워크스페이스 변수명 지정
    domain: 'example.com',    // 테스트 대상 도메인
    path: '/',
    httpOnly: true,           // 실제 속성에 맞춰 설정
    secure: true,             // https인 경우 true
    sameSite: 'Lax'           // 실제 속성에 맞춰 설정
  }
]);
// 로그인 상태로 액세스할 URL 지정
await page.goto('https://example.com/dashboard/target_page');

4. 테스트 플랜 설정

시나리오를 테스트 플랜에 추가하고 변수 이월을 활성화합니다.

  1. 테스트 플랜 화면을 열고 새로운 테스트 플랜을 작성(또는 기존 플랜 편집)합니다.

  2. 단계 2에서 만든 "로그인용 시나리오"를 처음에 추가합니다.

  3. 단계 3에서 만든 "후속 시나리오"를 순서대로 추가합니다.

  4. 테스트 플랜 설정에서 덮어쓴 변수 값을 후속 시나리오로 이월하기에 체크합니다.

  5. 저장을 클릭합니다.

유의 사항

  • 애플리케이션 의존성: 이 절차는 애플리케이션의 인증 사양에 의존합니다. IP 제한, 토큰 유효 기간, 2단계 인증(2FA) 등이 설정되어 있는 경우, 이 방법으로 대응할 수 없을 가능성이 있습니다.

  • 실행 순서 제약: 변수 이월을 확실하게 수행하기 위해 병렬 실행 설정은 사용하지 말고 시나리오의 실행 순서를 고정해 주세요.