찾다
웹 프론트엔드JS 튜토리얼Playwright와 TypeScript, JavaScript를 사용한 자동화

TypeScript를 사용하는 극작가 | 자바스크립트 설치

Playwright는 Puppeteer 팀과 협력하여 Microsoft에서 제공하는 최신 웹 기반 API 자동화 도구입니다. Puppeteer는 DevTools 프로토콜 또는 WebDriver BiDi를 통해 Chrome 또는 Firefox를 제어할 수 있는 고급 API를 제공하는 JavaScript 라이브러리입니다. Puppeteer는 기본적으로 헤드리스(표시되는 UI 없음)에서 실행됩니다.

Playwright는 단일 API를 통해 웹 애플리케이션 자동화를 위한 최신 웹 기반 브라우저를 지원하며 API 자동화도 지원합니다.

극작가의 건축

Automation using Playwright and TypeScript and JavaScript

Playwright는 연결이 설정되면 웹 소켓 프로토콜에서 작동하며 테스트를 트리거하고 웹 소켓 프로토콜을 사용하여 JSON 형식의 요청을 서버에 보냅니다. 즉, Playwright가 연결을 설정하면 요청을 보내기 위해 연결을 다시 설정할 필요가 없습니다. 테스트 실행이 완료될 때까지 서버에 보관됩니다. 극작가는 playwright.quit() 메소드로 연결을 끊어야 합니다.

HTTP 프로토콜 연결 웹소켓 프로토콜 연결의 차이점을 알아봅시다

Automation using Playwright and TypeScript and JavaScript

WebSocket과 HTTP 프로토콜의 차이점
극작가의 특징 :
모든 브라우저 • 모든 플랫폼 • 하나의 API
크로스 브라우저. Playwright는 Chromium, WebKit, Firefox를 포함한 모든 최신 렌더링 엔진을 지원합니다.

크로스 플랫폼. Windows, Linux 및 macOS, 로컬 또는 CI(헤드리스 또는 헤드 없음)에서 테스트하세요.

언어 간. TypeScript, JavaScript, Python, .NET, Java에서 Playwright API를 사용하세요.

모바일 웹을 테스트해보세요. Android 및 모바일 Safari용 Google Chrome의 기본 모바일 에뮬레이션입니다. 동일한 렌더링 엔진이 데스크탑과 클라우드에서 작동합니다.

  1. 탄력성 • 불안정한 테스트 없음

자동 대기. 극작가는 작업을 수행하기 전에 요소가 실행 가능해질 때까지 기다립니다. 또한 다양한 자기 성찰 이벤트가 있습니다. 이 두 가지를 결합하면 불안정한 테스트의 주요 원인인 인위적인 시간 초과가 필요하지 않습니다.

웹 우선 어설션. 극작가 어설션은 동적 웹을 위해 특별히 생성되었습니다. 필요한 조건이 충족될 때까지 자동으로 검사가 재시도됩니다.

추적. 테스트 재시도 전략을 구성하고, 실행 추적, 비디오, 스크린샷을 캡처하여 플레이크를 제거합니다.

  1. 절충 없음 • 제한 없음

브라우저는 서로 다른 프로세스에서 서로 다른 출처에 속하는 웹 콘텐츠를 실행합니다. Playwright는 최신 브라우저 아키텍처에 맞춰 프로세스 외부에서 테스트를 실행합니다. 이를 통해 Playwright는 일반적인 진행 중인 테스트 실행기의 제한 사항에서 벗어날 수 있습니다.

다양한 것. 여러 탭, 여러 원본 및 여러 사용자를 포괄하는 테스트 시나리오입니다. 다양한 사용자를 위한 다양한 상황의 시나리오를 생성하고 이를 서버에 대해 한 번의 테스트로 실행해 보세요.

신뢰할 수 있는 이벤트. 요소를 가리키고, 동적 컨트롤과 상호 작용하고, 신뢰할 수 있는 이벤트를 생성합니다. Playwright는 실제 사용자와 구별할 수 없는 실제 브라우저 입력 파이프라인을 사용합니다.

프레임을 테스트하고 Shadow DOM을 뚫습니다. 극작가 선택기는 Shadow DOM을 관통하여 프레임을 원활하게 입력할 수 있도록 합니다.

  1. 완전 격리 • 빠른 실행

브라우저 컨텍스트. Playwright는 각 테스트에 대한 브라우저 컨텍스트를 만듭니다. 브라우저 컨텍스트는 새로운 브라우저 프로필과 동일합니다. 이는 오버헤드 없이 완전한 테스트 격리를 제공합니다. 새로운 브라우저 컨텍스트를 생성하는 데는 몇 밀리초밖에 걸리지 않습니다.

한 번 로그인해 보세요. 컨텍스트의 인증 상태를 저장하고 모든 테스트에서 재사용합니다. 이는 각 테스트에서 반복적인 로그인 작업을 우회하면서도 독립적인 테스트를 완전히 격리합니다.

  1. 강력한 도구

코드젠. 작업을 기록하여 테스트를 생성합니다. 원하는 언어로 저장하세요.

극작가 검사관. 페이지를 검사하고, 선택기를 생성하고, 테스트 실행을 단계별로 진행하고, 클릭 포인트를 확인하고, 실행 로그를 살펴보세요.

추적 뷰어. 테스트 실패를 조사하기 위해 모든 정보를 캡처합니다. Playwright 추적에는 테스트 실행 스크린캐스트, 라이브 DOM 스냅샷, 액션 탐색기, 테스트 소스 등이 포함되어 있습니다.

TypeScript/JavaScript와 함께 Playwright를 사용해 보겠습니다

TypeScript/JavaScript용 Playwright 설치
설치를 위한 전제조건은 다음과 같습니다: Node.js 18

Windows 10, Windows Server 2016 또는 Linux용 Windows 하위 시스템(WSL).
macOS 13 Ventura 또는 macOS 14 Sonoma.
x86–64 및 arm64 아키텍처의 Debian 11, Debian 12, Ubuntu 20.04 또는 Ubuntu 22.04, Ubuntu 24.04.
npm, Yarn 또는 pnpm을 사용하여 Playwright를 설치하여 시작하세요. 또는 VS Code 확장을 사용하여 테스트를 시작하고 실행할 수도 있습니다.

TypeScriptWithPlaywright와 같은 폴더를 만듭니다. 마찬가지로 JavaScriptwithPlaywright용 폴더를 만들고 폴더로 이동하여 창의 명령 프롬프트를 엽니다.

Automation using Playwright and TypeScript and JavaScript

극작가 설치
Enter를 클릭하면 다음 화면이 나타나고 스크립트 언어를 선택한 다음 Enter를 누르십시오

Automation using Playwright and TypeScript and JavaScript

스크립팅 언어 선택
스크립팅 언어를 선택한 후 Enter를 누르면 다음 화면이 나타나고 최종 테스트를 어디에 둘 것인지 묻습니다. 그렇게 해주세요.

극작가 설치
이제 GitHub Actions 워크플로를 요청합니다. 구성하려면 Y를 누르거나 그렇지 않으면 N을 누르십시오. 브라우저를 설치하라는 메시지가 표시됩니다. 설치하려면 Y를 선택하면 true를 의미합니다. 다음 화면이 나타납니다.

Automation using Playwright and TypeScript and JavaScript

참고: Playwright 브라우저는 아래 명령을 통해 수동으로 설치할 수 있습니다

Automation using Playwright and TypeScript and JavaScript

npx 극작가 설치

극작가 설치
이제 Enter를 누르면 다음 화면이 나타납니다.

Automation using Playwright and TypeScript and JavaScript

극작가 설치
극작가 설치

극작가 설치

극작가 설치 완료
Playwright는 기본적으로 헤드리스 모드에서 실행되는 테스트 스크립트를 실행하며 다음 명령은 특정 브라우저로 실행하고 디버그하며 codegen을 사용하여 테스트 스크립트를 생성합니다.

npx 극작가 테스트
엔드투엔드 테스트를 실행합니다.

npx 극작가 테스트 --ui
대화형 UI 모드를 시작합니다.

npx 극작가 테스트 --project=chromium
데스크톱 Chrome에서만 테스트를 실행합니다.

npx 극작가 테스트 예시
특정 파일에서 테스트를 실행합니다.

npx 극작가 테스트 --debug
디버그 모드에서 테스트를 실행합니다.

npx 극작가 코드젠
Codegen으로 테스트를 자동 생성하세요.

다음을 입력하여 시작하는 것이 좋습니다.

npx playwright test

이제 다음 명령을 사용하여 테스트 스크립트를 실행하고 보고서를 살펴보겠습니다. Playwright는 chromium, Firefox 및 WebKit에서 병렬로 테스트를 실행합니다.

npx 극작가 테스트

npx 극작가 쇼 보고서

Playwright 기본 보고서는 TypeScript/JavaScript만 지원합니다
Playwright는 기본적으로 헤드리스 모드를 사용하여 다음 브라우저에서 실행되도록 테스트 스크립트를 구성합니다. 구성은 playwright.config.js

라는 폴더에 표시됩니다.

'@playwright/test'에서 { 정의 구성, 장치 } 가져오기;

/**

  • 파일에서 환경 변수를 읽습니다.
  • https://github.com/motdotla/dotenv*/ // 'dotenv'에서 dotenv를 가져옵니다. // 'path'에서 경로를 가져옵니다. // dotenv.config({ 경로: path.resolve(__dirname, '.env') });

/**

  • https://playwright.dev/docs/test-configuration을 참조하세요.
    /
    기본 정의 내보내기({
    testDir: './tests',
    /
    파일에서 병렬로 테스트 실행 /
    완전히 병렬: true,
    /
    실수로 소스 코드에 test.only를 남겨둔 경우 CI 빌드가 실패합니다. /
    forbidOnly: !!process.env.CI,
    /
    CI에서만 재시도 /
    재시도: process.env.CI ? 2 : 0,
    /
    CI에 대한 병렬 테스트를 선택 해제합니다. /
    작업자: process.env.CI ? 1 : 정의되지 않음,
    /
    기자가 사용합니다. https://playwright.dev/docs/test-reporters /
    를 참조하세요. 기자: 'html',
    /
    아래 모든 프로젝트에 대한 공유 설정입니다. https://playwright.dev/docs/api/class-testoptions를 참조하세요. /
    사용: {
    /
    wait page.goto('/')와 같은 작업에 사용할 기본 URL입니다. */
    // 기본 URL: 'http://127.0.0.1:3000',

    /* 실패한 테스트를 재시도할 때 추적을 수집합니다. https://playwright.dev/docs/trace-viewer 참조 */
    추적: '첫 번째 재시도',
    },

/* 주요 브라우저용 프로젝트 구성 */
프로젝트: [
{
이름: '크롬',
사용: { ...devices['Desktop Chrome'] },
},

npx playwright test

],

/* 테스트를 시작하기 전에 로컬 개발 서버를 실행하세요 */
// 웹서버: {
// 명령: 'npm run start',
// URL: 'http://127.0.0.1:3000',
// 재사용ExistingServer: !process.env.CI,
// },
});
이제 헤드리스 모드(UI)가 아닌 테스트 스크립트를 실행하고 추가 브라우저를 추가하도록 수정해 보겠습니다. Playwright는 테스트 스크립트 실행을 기록하는 옵션과 디버깅에 유용한 추적 보기 옵션도 제공합니다. 추적 뷰어 옵션을 활성화하면 테스트 전 상태, 테스트 중 상태, 테스트 후 상태를 확인할 수 있습니다. 극작가 구성 파일을 수정했는데 아래와 같습니다.

// @ts-check
const { 정의구성, 장치 } = require('@playwright/test');

module.exports = 정의Config({
testDir: './tests',
완전히 병렬: true,
forbidOnly: !!process.env.CI,
재시도: process.env.CI ? 2 : 0,
작업자: process.env.CI ? 1 : 정의되지 않음,
기자: 'html',
사용: {
추적: 'on', // 추적 활성화
video: 'on', // 각 테스트에 대한 비디오 녹화
headless: false, // 헤드 모드에서 테스트 실행
},
프로젝트: [
{
이름: '크롬',
사용: { ...devices['Desktop Chrome'] },
},
{
이름: 'firefox',
사용: { ...devices['Desktop Firefox'] },
},
{
이름: '웹킷',
사용: { ...devices['Desktop Safari'] },
},
{
이름: 'Microsoft Edge',
사용: {
...장치['Desktop Edge'],
채널: 'msedge'
},
},
{
이름: 'Google 크롬',
사용: {
...장치['데스크톱 Chrome'],
채널: '크롬'
},
},
],
});
이제 테스트 스크립트는 기록, 추적 뷰어 옵션을 사용하여 헤드리스 모드가 아닌 구성 파일에 언급된 브라우저에서 테스트를 실행할 수 있습니다.

즐거운 학습!! 행복한 자동화 !! 즐거운 테스트

정보/질문이 있으시면 santoshvqa@gmail.com 및 LinkedIn 프로필로 언제든지 연락주세요

https://www.linkedin.com/in/santosh-kulkarni-ab571639/

위 내용은 Playwright와 TypeScript, JavaScript를 사용한 자동화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
파이썬과 자바 스크립트의 미래 : 트렌드와 예측파이썬과 자바 스크립트의 미래 : 트렌드와 예측Apr 27, 2025 am 12:21 AM

Python 및 JavaScript의 미래 추세에는 다음이 포함됩니다. 1. Python은 과학 컴퓨팅 분야에서의 위치를 ​​통합하고 AI, 2. JavaScript는 웹 기술의 개발을 촉진하고, 3. 교차 플랫폼 개발이 핫한 주제가되고 4. 성능 최적화가 중점을 둘 것입니다. 둘 다 해당 분야에서 응용 프로그램 시나리오를 계속 확장하고 성능이 더 많은 혁신을 일으킬 것입니다.

Python vs. JavaScript : 개발 환경 및 도구Python vs. JavaScript : 개발 환경 및 도구Apr 26, 2025 am 12:09 AM

개발 환경에서 Python과 JavaScript의 선택이 모두 중요합니다. 1) Python의 개발 환경에는 Pycharm, Jupyternotebook 및 Anaconda가 포함되어 있으며 데이터 과학 및 빠른 프로토 타이핑에 적합합니다. 2) JavaScript의 개발 환경에는 Node.js, VScode 및 Webpack이 포함되어 있으며 프론트 엔드 및 백엔드 개발에 적합합니다. 프로젝트 요구에 따라 올바른 도구를 선택하면 개발 효율성과 프로젝트 성공률이 향상 될 수 있습니다.

JavaScript가 C로 작성 되었습니까? 증거를 검토합니다JavaScript가 C로 작성 되었습니까? 증거를 검토합니다Apr 25, 2025 am 12:15 AM

예, JavaScript의 엔진 코어는 C로 작성되었습니다. 1) C 언어는 효율적인 성능과 기본 제어를 제공하며, 이는 JavaScript 엔진 개발에 적합합니다. 2) V8 엔진을 예를 들어, 핵심은 C로 작성되며 C의 효율성 및 객체 지향적 특성을 결합하여 C로 작성됩니다.

JavaScript의 역할 : 웹 대화식 및 역동적 인 웹JavaScript의 역할 : 웹 대화식 및 역동적 인 웹Apr 24, 2025 am 12:12 AM

JavaScript는 웹 페이지의 상호 작용과 역학을 향상시키기 때문에 현대 웹 사이트의 핵심입니다. 1) 페이지를 새로 고치지 않고 콘텐츠를 변경할 수 있습니다. 2) Domapi를 통해 웹 페이지 조작, 3) 애니메이션 및 드래그 앤 드롭과 같은 복잡한 대화식 효과를 지원합니다. 4) 성능 및 모범 사례를 최적화하여 사용자 경험을 향상시킵니다.

C 및 JavaScript : 연결이 설명되었습니다C 및 JavaScript : 연결이 설명되었습니다Apr 23, 2025 am 12:07 AM

C 및 JavaScript는 WebAssembly를 통한 상호 운용성을 달성합니다. 1) C 코드는 WebAssembly 모듈로 컴파일되어 컴퓨팅 전력을 향상시키기 위해 JavaScript 환경에 도입됩니다. 2) 게임 개발에서 C는 물리 엔진 및 그래픽 렌더링을 처리하며 JavaScript는 게임 로직 및 사용자 인터페이스를 담당합니다.

웹 사이트에서 앱으로 : 다양한 JavaScript 애플리케이션웹 사이트에서 앱으로 : 다양한 JavaScript 애플리케이션Apr 22, 2025 am 12:02 AM

JavaScript는 웹 사이트, 모바일 응용 프로그램, 데스크탑 응용 프로그램 및 서버 측 프로그래밍에서 널리 사용됩니다. 1) 웹 사이트 개발에서 JavaScript는 HTML 및 CSS와 함께 DOM을 운영하여 동적 효과를 달성하고 jQuery 및 React와 같은 프레임 워크를 지원합니다. 2) 반응 및 이온 성을 통해 JavaScript는 크로스 플랫폼 모바일 애플리케이션을 개발하는 데 사용됩니다. 3) 전자 프레임 워크를 사용하면 JavaScript가 데스크탑 애플리케이션을 구축 할 수 있습니다. 4) node.js는 JavaScript가 서버 측에서 실행되도록하고 동시 요청이 높은 높은 요청을 지원합니다.

Python vs. JavaScript : 사용 사례 및 응용 프로그램 비교Python vs. JavaScript : 사용 사례 및 응용 프로그램 비교Apr 21, 2025 am 12:01 AM

Python은 데이터 과학 및 자동화에 더 적합한 반면 JavaScript는 프론트 엔드 및 풀 스택 개발에 더 적합합니다. 1. Python은 데이터 처리 및 모델링을 위해 Numpy 및 Pandas와 같은 라이브러리를 사용하여 데이터 과학 및 기계 학습에서 잘 수행됩니다. 2. 파이썬은 간결하고 자동화 및 스크립팅이 효율적입니다. 3. JavaScript는 프론트 엔드 개발에 없어서는 안될 것이며 동적 웹 페이지 및 단일 페이지 응용 프로그램을 구축하는 데 사용됩니다. 4. JavaScript는 Node.js를 통해 백엔드 개발에 역할을하며 전체 스택 개발을 지원합니다.

JavaScript 통역사 및 컴파일러에서 C/C의 역할JavaScript 통역사 및 컴파일러에서 C/C의 역할Apr 20, 2025 am 12:01 AM

C와 C는 주로 통역사와 JIT 컴파일러를 구현하는 데 사용되는 JavaScript 엔진에서 중요한 역할을합니다. 1) C는 JavaScript 소스 코드를 구문 분석하고 추상 구문 트리를 생성하는 데 사용됩니다. 2) C는 바이트 코드 생성 및 실행을 담당합니다. 3) C는 JIT 컴파일러를 구현하고 런타임에 핫스팟 코드를 최적화하고 컴파일하며 JavaScript의 실행 효율을 크게 향상시킵니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

PhpStorm 맥 버전

PhpStorm 맥 버전

최신(2018.2.1) 전문 PHP 통합 개발 도구