目录
Nightmare.js 简介
安装 Nightmare.js
第 1 步下载 Node.js
第2步下载NPM
第 3 步安装 Nightmare.js 库
Nightmare.js 的对象
等待超时
转到超时
加载超时
执行超时
路径
电子路径
开关
结论
首页 web前端 js教程 Nightmare.js介绍及安装

Nightmare.js介绍及安装

Sep 05, 2023 am 09:13 AM

Nightmare.js介绍及安装

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

Nightmare.js 简介

Segment 提供 Nightmare,一个复杂的浏览器自动化库。这个噩梦的目标是模仿用户活动(例如转到、键入、单击等),而不是使用大量嵌套的回调,通过 API 公开一些基本方法,使每个脚本块感觉同步。尽管它的目的是在没有 API 的情况下实现跨网站的自动化操作,但如今它最常用于爬行、UI 测试等。

注意- 运行 Nightmare 需要 NodeJS 4.x 或更高版本。

安装 Nightmare.js

为了测试网站界面,我们尝试了 Nightmare.js,一个 JavaScript 浏览器自动化库。

在 PC 上使用 Nightmare 比在 Cloud 9 上使用更简单。以下是设置和启动说明。

第 1 步下载 Node.js

JavaScript 通常在浏览器中运行。 Node.js 是 JavaScript 的变体,可以在服务器、终端或其他硬件上使用。它可以简单地创建和执行 Nightmare 脚本。

Node.js 下载链接

https://nodejs.org/en/download/ 
登录后复制

第2步下载NPM

您可以使用节点包管理器 (npm) 设置 Nightmare 库。 Nightmare 的依赖项将全部安装,当您使用 npm 安装它时,它也会随之安装。

NPM安装链接

https://nodejs.org/en/
登录后复制

第 3 步安装 Nightmare.js 库

使用命令

npm install nightmare 
登录后复制

我们已经了解了如何在 Node js Playground 中安装 Nightmare.js 库,现在让我们看看噩梦的一些基础知识,然后我们将转向噩梦的对象。

噩梦的基本语法是 -

const Nightmare = require('nightmare')
const nightmare = Nightmare({object : value_of_object})  
登录后复制

在上面的代码中,我们使用 Node js 的 require() 方法在代码中导入了“噩梦”,然后将其存储到一个变量中,稍后我们使用该变量在括号中定义一些对象和值存储变量并再次将其存储到一个新变量中。

我们已经了解了 nightmare.js 的一些基本代码结构,现在让我们转向 Nightmare.js 的对象 -

Nightmare.js 的对象

由于 Nightmare.js 创建了一个新的对象,可以在网络中导航并提供有用的东西,为了在这里添加更多规范,我们有噩梦的对象,这将帮助我们获得更好的网络冲浪,让我们看看其中的一些-

等待超时

该对象默认时间为 30 秒,用户也可以根据需要定义一些时间,如果函数“.wati()”未能在设定的时间范围内返回真值,则抛出异常。

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   waitTimeout: 2000 // in milliseconds
}) 
登录后复制

在上面的代码中,首先,我们将噩梦导入到我们的系统中,然后为它创建了一个对象。在变量中,我们提供了对象“waitTimeout”,其值为 2000 毫秒。

转到超时

该对象默认时间为 30 秒,用户也可以根据需要定义一些时间,如果函数“.goto()”在提供的或设置的时间范围内加载失败,则抛出异常.

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   gotoTimeout: 2000 // in milliseconds
})
登录后复制

在上面的代码中,首先,我们将噩梦导入到我们的系统中,然后为它创建了一个对象。在变量中,我们提供了对象“gotoTimeout”,其值为 2000 毫秒。

加载超时

该对象具有无限秒的默认时间,用户还可以根据需要定义一些时间,并在由于单击等操作导致页面转换没有发生时强制 Nightmare 离开或移动没有在给定的时间内完成。

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   loadTimeout: 2000 // in milliseconds
})
登录后复制

在上面的代码中,首先,我们将噩梦导入到我们的系统中,然后为它创建了一个对象。在变量中,我们提供了对象“loadTimeout”,其值为 2000 毫秒。

执行超时

该对象默认有30秒的时间,用户也可以根据需要定义一些时间,并显示等待方法“.evaluate”的语句完成的最长时间。

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   executionTimeout: 2000 // in milliseconds
})
登录后复制

在上面的代码中,首先,我们将噩梦导入到我们的系统中,然后为它创建了一个对象。在变量中,我们提供了对象“executionTimeout”,其值为 2000 毫秒。

路径

电子定义了许多默认的系统路径。这些路径可以通过使用噩梦的路径对象来覆盖,这可以通过以下代码来完成 -

const Nightmare = require('nightmare')
const nightmare = Nightmare({
   paths: {
      userData: ‘/user/data’
   }
})
登录后复制

在上面的代码中,首先,我们将噩梦导入到我们的系统中,然后为它创建了一个对象。在变量中,我们提供了对象路径,在其中定义了电子路径。

电子路径

这些对于测试 Electron 的各个版本非常有帮助,并且这些是预先构建到 Electron 二进制文件的路径。这些路径可以通过使用噩梦的路径对象来覆盖。让我们看一下电子路径是如何定义的代码 -

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中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它们
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何创建和发布自己的JavaScript库? 如何创建和发布自己的JavaScript库? Mar 18, 2025 pm 03:12 PM

文章讨论了创建,发布和维护JavaScript库,专注于计划,开发,测试,文档和促销策略。

如何在浏览器中优化JavaScript代码以进行性能? 如何在浏览器中优化JavaScript代码以进行性能? Mar 18, 2025 pm 03:14 PM

本文讨论了在浏览器中优化JavaScript性能的策略,重点是减少执行时间并最大程度地减少对页面负载速度的影响。

前端热敏纸小票打印遇到乱码问题怎么办? 前端热敏纸小票打印遇到乱码问题怎么办? Apr 04, 2025 pm 02:42 PM

前端热敏纸小票打印的常见问题与解决方案在前端开发中,小票打印是一个常见的需求。然而,很多开发者在实...

如何使用浏览器开发人员工具有效调试JavaScript代码? 如何使用浏览器开发人员工具有效调试JavaScript代码? Mar 18, 2025 pm 03:16 PM

本文讨论了使用浏览器开发人员工具的有效JavaScript调试,专注于设置断点,使用控制台和分析性能。

谁得到更多的Python或JavaScript? 谁得到更多的Python或JavaScript? Apr 04, 2025 am 12:09 AM

Python和JavaScript开发者的薪资没有绝对的高低,具体取决于技能和行业需求。1.Python在数据科学和机器学习领域可能薪资更高。2.JavaScript在前端和全栈开发中需求大,薪资也可观。3.影响因素包括经验、地理位置、公司规模和特定技能。

如何使用源地图调试缩小JavaScript代码? 如何使用源地图调试缩小JavaScript代码? Mar 18, 2025 pm 03:17 PM

本文说明了如何使用源地图通过将其映射回原始代码来调试JAVASCRIPT。它讨论了启用源地图,设置断点以及使用Chrome DevTools和WebPack之类的工具。

console.log输出结果差异:两次调用为何不同? console.log输出结果差异:两次调用为何不同? Apr 04, 2025 pm 05:12 PM

深入探讨console.log输出差异的根源本文将分析一段代码中console.log函数输出结果的差异,并解释其背后的原因。�...

初学者的打字稿,第2部分:基本数据类型 初学者的打字稿,第2部分:基本数据类型 Mar 19, 2025 am 09:10 AM

掌握了入门级TypeScript教程后,您应该能够在支持TypeScript的IDE中编写自己的代码,并将其编译成JavaScript。本教程将深入探讨TypeScript中各种数据类型。 JavaScript拥有七种数据类型:Null、Undefined、Boolean、Number、String、Symbol(ES6引入)和Object。TypeScript在此基础上定义了更多类型,本教程将详细介绍所有这些类型。 Null数据类型 与JavaScript一样,TypeScript中的null

See all articles