Heim  >  Artikel  >  Web-Frontend  >  Einführung und Installation von Nightmare.js

Einführung und Installation von Nightmare.js

王林
王林nach vorne
2023-09-05 09:13:021107Durchsuche

Einführung und Installation von Nightmare.js

Nightmare ist eine erweiterte Automatisierungsbibliothek von Segment. Es ist eine gute Wahl für die Automatisierung von Rauchtests, da es alle Texteingaben, Klicks und visuellen Inspektionen durchführen kann, die ein Mensch kann. Es läuft als Headless-Browser mit Electron. In diesem Artikel werden wir Nightmare.js und die Installation von Nightmare.js im Detail besprechen.

Nightmare.js-Einführung

Segment bietet Nightmare, eine hochentwickelte Browser-Automatisierungsbibliothek. Das Ziel dieses Albtraums besteht darin, Benutzeraktivitäten zu emulieren (z. B. „Gehe zu“, „Eingeben“, „Klicken“ usw.) und anstatt Unmengen verschachtelter Rückrufe zu verwenden, ein paar grundlegende Methoden über die API verfügbar zu machen, damit sich jeder Skriptblock synchron anfühlt. Obwohl sein Zweck darin besteht, Vorgänge auf Websites ohne API zu automatisieren, wird es heute am häufigsten für Crawling, UI-Tests usw. verwendet.

HINWEIS- Zum Ausführen von Nightmare ist NodeJS 4.x oder höher erforderlich.

Installieren Sie Nightmare.js

Um die Website-Oberfläche zu testen, haben wir Nightmare.js ausprobiert, eine JavaScript-Browser-Automatisierungsbibliothek.

Die Verwendung von Nightmare auf dem PC ist einfacher als die Verwendung von Cloud 9. Nachfolgend finden Sie Anweisungen zur Einrichtung und Inbetriebnahme.

Schritt 1: Laden Sie Node.js herunter

JavaScript läuft normalerweise im Browser. Node.js ist eine Variante von JavaScript, die auf Servern, Terminals oder anderer Hardware verwendet werden kann. Es erleichtert das Erstellen und Ausführen von Nightmare-Skripten.

Node.js-Download-Link

https://nodejs.org/en/download/ 

Schritt 2 NPM herunterladen

Sie können die Nightmare-Bibliothek mit dem Node Package Manager (npm) einrichten. Alle Abhängigkeiten von Nightmare werden installiert, und wenn Sie es mit npm installieren, wird es ebenfalls installiert.

NPM-Installationslink

https://nodejs.org/en/

Schritt 3: Installieren Sie die Nightmare.js-Bibliothek

Befehle verwenden

npm install nightmare 

Wir haben gesehen, wie man die Nightmare.js-Bibliothek im Node js Playground installiert. Schauen wir uns nun einige Grundlagen von Nightmare an und gehen dann zu Nightmare-Objekten über.

Die grundlegende Syntax von nightmare ist -

const Nightmare = require('nightmare')
const nightmare = Nightmare({object : value_of_object})  

Im obigen Code haben wir „Nightmare“ mit der require()-Methode von Node js in den Code importiert und es dann in einer Variablen gespeichert, die wir später verwenden, um einige Objekte und Wertspeichervariablen in Klammern zu definieren und in einer neuen zu speichern wieder variabel.

Wir haben uns einige grundlegende Codestrukturen von nightmare.js angesehen, jetzt wenden wir uns den Objekten von Nightmare.js zu -

Objekt von Nightmare.js

Da Nightmare.js ein neues Objekt erstellt, das im Web navigieren und nützliche Dinge bereitstellen kann, haben wir, um hier weitere Spezifikationen hinzuzufügen, das Nightmare-Objekt, das uns dabei helfen wird, besser im Internet zu surfen. Schauen wir uns einige davon an –

Wartezeitüberschreitung

Die Standardzeit dieses Objekts beträgt 30 Sekunden. Wenn die Funktion „.wati()“ innerhalb des festgelegten Zeitbereichs keinen echten Wert zurückgibt, wird eine Ausnahme ausgelöst.

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   waitTimeout: 2000 // in milliseconds
}) 

Im obigen Code haben wir zuerst den Albtraum in unser System importiert und dann ein Objekt dafür erstellt. In der Variable versorgen wir das Objekt „waitTimeout“ mit dem Wert 2000 Millisekunden.

GEHE ZU TIMEOUT

Die Standardzeit dieses Objekts beträgt 30 Sekunden. Wenn die Funktion „.goto()“ nicht innerhalb des angegebenen oder festgelegten Zeitbereichs geladen werden kann, wird eine Ausnahme ausgelöst

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   gotoTimeout: 2000 // in milliseconds
})

Im obigen Code haben wir zuerst den Albtraum in unser System importiert und dann ein Objekt dafür erstellt. In der Variable versorgen wir das Objekt „gotoTimeout“ mit dem Wert 2000 Millisekunden.

Ladezeitüberschreitung

Dieses Objekt hat eine Standardzeit von unendlichen Sekunden. Der Benutzer kann bei Bedarf auch eine bestimmte Zeit festlegen und Nightmare zum Verlassen zwingen, wenn der Seitenübergang aufgrund von Vorgängen wie Klicks nicht erfolgt oder die Bewegung nicht innerhalb der angegebenen Zeit abgeschlossen wird.

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   loadTimeout: 2000 // in milliseconds
})

Im obigen Code haben wir zuerst den Albtraum in unser System importiert und dann ein Objekt dafür erstellt. In der Variable versorgen wir das Objekt „loadTimeout“ mit dem Wert 2000 Millisekunden.

Ausführungszeitüberschreitung

Dieses Objekt hat eine Standardzeit von 30 Sekunden. Der Benutzer kann auch eine bestimmte Zeit nach Bedarf festlegen und die maximale Zeit anzeigen, die auf den Abschluss der Anweisung der Methode „.evaluate“ gewartet werden soll.

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   executionTimeout: 2000 // in milliseconds
})

Im obigen Code haben wir zuerst den Albtraum in unser System importiert und dann ein Objekt dafür erstellt. In der Variable versorgen wir das Objekt „executionTimeout“ mit dem Wert 2000 Millisekunden.

Pfad

Electronics definiert viele Standardsystempfade. Diese Pfade können mithilfe des Pfadobjekts von Nightmare überschrieben werden, was mit dem folgenden Code möglich ist:

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   paths: {
      userData: ‘/user/data’
   }
})

Im obigen Code haben wir zuerst den Albtraum in unser System importiert und dann ein Objekt dafür erstellt. In den Variablen geben wir den Objektpfad an, in dem der Elektronenpfad definiert ist.

Elektronischer Pfad

Diese sind sehr hilfreich zum Testen verschiedener Versionen von Electron und es handelt sich dabei um vorgefertigte Pfade zu den Electron-Binärdateien. Diese Pfade können mithilfe des Pfadobjekts von Nightmare überschrieben werden. Schauen wir uns den Code zur Definition von Elektronenpfaden an -

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 作为无头浏览器运行。

Das obige ist der detaillierte Inhalt vonEinführung und Installation von Nightmare.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen