>웹 프론트엔드 >JS 튜토리얼 >Nightmare.js 소개 및 설치

Nightmare.js 소개 및 설치

王林
王林앞으로
2023-09-05 09:13:021150검색

Nightmare.js 소개 및 설치

Nightmare는 Segment에서 제공하는 고급 자동화 라이브러리입니다. 인간이 할 수 있는 모든 텍스트 입력, 클릭 및 육안 검사를 수행할 수 있으므로 연기 테스트 자동화에 적합한 선택입니다. Electron을 사용하여 헤드리스 브라우저로 실행됩니다. 이 기사에서는 Nightmare.js 및 Nightmare.js 설치에 대해 자세히 설명합니다.

Nightmare.js 소개

Segment는 정교한 브라우저 자동화 라이브러리인 Nightmare를 제공합니다. 이 악몽의 목표는 사용자 활동(예: 이동, 입력, 클릭 등)을 에뮬레이트하고 수많은 중첩 콜백을 사용하는 대신 API를 통해 몇 가지 기본 메서드를 노출하여 각 스크립트 블록이 동기식으로 느껴지도록 하는 것입니다. API 없이 웹사이트 전체의 작업을 자동화하는 것이 목적이지만 현재는 크롤링, UI 테스트 등에 가장 일반적으로 사용됩니다.

NOTE- Nightmare를 실행하려면 NodeJS 4.x 이상이 필요합니다.

Nightmare.js 설치

웹사이트 인터페이스를 테스트하기 위해 JavaScript 브라우저 자동화 라이브러리인 Nightmare.js를 사용해 보았습니다.

Cloud 9을 사용하는 것보다 PC에서 Nightmare를 사용하는 것이 더 쉽습니다. 다음은 설정 및 시작 지침입니다.

1단계 Node.js 다운로드

JavaScript는 일반적으로 브라우저에서 실행됩니다. Node.js는 서버, 터미널 또는 기타 하드웨어에서 사용할 수 있는 JavaScript의 변형입니다. Nightmare 스크립트를 쉽게 만들고 실행할 수 있습니다.

Node.js 다운로드 링크

으아아아

2단계 NPM 다운로드

노드 패키지 관리자(npm)를 사용하여 Nightmare 라이브러리를 설정할 수 있습니다. Nightmare의 종속 항목이 모두 설치되며, npm을 사용하여 설치하면 함께 설치됩니다.

NPM 설치 링크

으아아아

3단계 Nightmare.js 라이브러리 설치

명령 사용

으아아아

Node js Playground에 Nightmare.js 라이브러리를 설치하는 방법을 살펴보았습니다. 이제 Nightmare의 몇 가지 기본 사항을 살펴본 다음 Nightmare 개체로 넘어갑니다.

nnight의 기본 구문은 -

입니다. 으아아아

위 코드에서는 Node js의 require() 메서드를 사용하여 코드에 "Nightmare"를 가져온 다음 변수에 저장했습니다. 나중에 이를 사용하여 대괄호 안에 일부 객체와 값 저장 변수를 정의하고 새 변수에 저장합니다. 다시 변수.

nightmare.js의 몇 가지 기본 코드 구조를 살펴보았습니다. 이제 Nightmare.js의 개체로 이동하겠습니다. -

Nightmare.js의 개체

Nightmare.js는 웹을 탐색하고 유용한 기능을 제공할 수 있는 새로운 개체를 생성하므로 여기에 더 많은 사양을 추가하기 위해 더 나은 웹 서핑을 하는 데 도움이 되는 Nightmare 개체가 있습니다. 그 중 일부를 확인해 보겠습니다.

대기 시간 초과

이 개체의 기본 시간은 30초입니다. 사용자는 필요에 따라 시간을 정의할 수도 있습니다. ".wati()" 함수가 설정된 시간 범위 내에 참값을 반환하지 못하면 예외가 발생합니다.

으아아아

위 코드에서는 먼저 악몽을 시스템으로 가져온 다음 이에 대한 개체를 만들었습니다. 변수에서 값이 2000밀리초인 "waitTimeout" 개체를 제공합니다.

시간 초과로 이동

이 객체의 기본 시간은 30초입니다. 사용자는 필요에 따라 시간을 정의할 수도 있습니다. 제공된 시간 범위 또는 설정된 시간 내에 ".goto()" 함수가 로드되지 않으면 예외가 발생합니다. 으아아아

위 코드에서는 먼저 악몽을 시스템으로 가져온 다음 이에 대한 개체를 만들었습니다. 변수에서 값이 2000밀리초인 "gotoTimeout" 개체를 제공합니다.

로드 시간 초과

이 개체의 기본 시간은 무한초이며, 사용자는 필요에 따라 시간을 정의하고 클릭 등의 작업으로 인해 페이지 전환이 발생하지 않거나 주어진 시간 내에 이동이 완료되지 않을 때 악몽이 강제로 떠나도록 할 수도 있습니다.

으아아아

위 코드에서는 먼저 악몽을 시스템으로 가져온 다음 이에 대한 개체를 만들었습니다. 변수에서 값이 2000밀리초인 "loadTimeout" 개체를 제공합니다.

실행 시간 초과

이 개체의 기본 시간은 30초입니다. 사용자는 필요에 따라 시간을 정의하고 ".evaluate" 메서드의 명령문이 완료될 때까지 기다리는 최대 시간을 표시할 수도 있습니다.

으아아아

위 코드에서는 먼저 악몽을 시스템으로 가져온 다음 이에 대한 개체를 만들었습니다. 변수에서 값이 2000밀리초인 "executionTimeout" 개체를 제공합니다.

경로

Electronics에서는 다양한 기본 시스템 경로를 정의합니다. 이러한 경로는 다음 코드로 수행할 수 있는 Nightmare의 경로 개체를 사용하여 재정의할 수 있습니다.

으아아아

위 코드에서는 먼저 악몽을 시스템으로 가져온 다음 이에 대한 개체를 만들었습니다. 변수에서 우리는 전자 경로가 정의된 객체 경로를 제공합니다.

전자 경로

Electron의 다양한 버전을 테스트하는 데 매우 유용하며 Electron 바이너리에 대한 사전 구축된 경로입니다. 이러한 경로는 Nightmare의 경로 개체를 사용하여 재정의할 수 있습니다. 전자 경로가 어떻게 정의되는지 코드를 살펴보겠습니다 -

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   electronPath: require('electron')
})

在上面的代码中,首先,我们将噩梦导入到我们的系统中,然后为它创建了一个对象。在变量中,我们提供了对象 electroPath ,其键值将使用 required 关键字导入。

开关

Electron 还支持 google 命令行支持的开关。此类别中有多种开关。让我们转到代码以获取有关如何在 nights.js 对象中使用开关对象的信息 -

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   switches: {
      'key1' : 'value1',
      'key2' : 'value2',
   }
})

在上面的代码中,首先,我们将噩梦导入到我们的系统中,然后为它创建了一个对象。在变量中,我们提供了对象开关,并在其中定义了两个键值对。

结论

在这篇文章中,我们详细学习了Nightmare.js以及Nightmare.js的安装。 Nightmare是一个由segment提供的高级自动化库。它是烟雾测试自动化的一个不错的选择,因为它可以执行人类可以执行的所有文本输入、单击和目视检查。它使用 Electron 作为无头浏览器运行。

위 내용은 Nightmare.js 소개 및 설치의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제