Nightmare.js 介绍和安装

Nightmare.js 介绍和安装

Nightmare是一个由段提供的高级自动化库。它是烟雾测试自动化的一个很好的选择,因为它可以执行所有的文字输入、点击和视觉检查,而人可以。它作为一个使用Electron的无头浏览器运行。在这篇文章中,我们将详细讨论Nightmare.js以及Nightmare.js的安装。

Nightmare.js简介

Segment提供了Nightmare,一个复杂的浏览器自动化库。这个Nightmare的目的是模仿用户的活动(如goto、type、click等),而不是使用大量嵌套的回调,以一个API暴露一些基本的方法,让每个脚本块感觉是同步的。虽然它的目的是在没有API的网站上实现自动化操作,但今天它最常被用于抓取、UI测试等。

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

Nightmare.js的安装

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

在PC上使用Nightmare比在Cloud 9上这样做更直接。以下是设置和启动说明。

第1步 下载Node.js

JavaScript通常在浏览器中操作。Node.js是JavaScript的一种变体,可以在服务器上、终端上或其他硬件上使用。它能够简单地创建和执行 “噩梦 “脚本。

下载Node.js的链接

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

第2步 下载NPM

你可以使用Node Package Manager(npm)来设置Nightmare库。当你使用npm安装时,Nightmare的依赖项将全部被安装,与它一起。

安装NPM的链接

https://nodejs.org/en/

第3步 安装Nightmare.js库

使用命令

npm install nightmare 

我们已经看到了如何在node js操场上安装nightmare.js库,现在让我们来看看nightmare的一些基本知识,然后我们将转向nightmare的对象。

噩梦的基本语法是 —

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

在上面的代码中,我们使用node js的require()方法将’nightmare’导入我们的代码中,然后我们将它存储到一个变量中,随后我们用它来定义一些对象,并在存储变量的括号中为其取值,然后再次将其存储到一个新的变量。

我们已经看到了Nightmare.js的一些基本代码结构,现在让我们来看看Nightmare.js的对象。

Nightmare.js的对象

由于Nightmare.js创建了一个新的对象,通过网络导航并提供有用的东西,为了增加一些规格,这里我们有噩梦的对象,将帮助我们获得更好的网上冲浪,让我们看看其中的一些对象 –

watiTimeout

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

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

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

gotoTimeout

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

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

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

loadTimeout

这个对象的默认时间是无限秒,用户也可以根据需要定义一些时间,如果由于点击等动作导致的页面转换没有在给定的时间内完成,则迫使Nightmare离开或移动。

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

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

ExecutionTimeout

这个对象的默认时间是30秒,用户也可以根据需要定义一些时间,并显示等待方法’.evaluation’的语句完成的最大时间。

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

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

路径

有许多默认的系统路径被定义,这些路径是电子所知道的。这些路径可以通过使用梦魇的路径对象来覆盖,这可以通过以下代码完成 −

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

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

electronPath

这些对于测试不同版本的电子相当有帮助,这些是预置在电子二进制中的路径。这些路径可以通过使用梦魇的路径对象进行覆盖。让我们看看electronpath是如何定义的代码 −

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

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

开关

Electron也支持google命令行所支持的开关。有各种开关都属于这个类别。让我们转到代码中,以获得关于如何在nightmare.js对象中使用开关对象的信息 –

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

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

总结

在这篇文章中,我们已经详细了解了Nightmare.js和Nightmare.js的安装。Nightmare是一个由段提供的高级自动化库。它是烟雾测试自动化的一个很好的选择,因为它可以执行所有的文字输入、点击和视觉检查,而人可以。它作为一个使用Electron的无头浏览器运行。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

JavaScript 教程