Rumah  >  Artikel  >  hujung hadapan web  >  Pengenalan dan pemasangan Nightmare.js

Pengenalan dan pemasangan Nightmare.js

王林
王林ke hadapan
2023-09-05 09:13:021107semak imbas

Pengenalan dan pemasangan Nightmare.js

Nightmare ialah perpustakaan automasi termaju yang disediakan oleh Segmen. Ia adalah pilihan yang baik untuk automasi ujian asap kerana ia boleh melaksanakan semua kemasukan teks, klik dan pemeriksaan visual yang boleh dilakukan oleh manusia. Ia berjalan sebagai pelayar tanpa kepala menggunakan Electron. Dalam artikel ini, kami akan membincangkan pemasangan Nightmare.js dan Nightmare.js secara terperinci.

Nightmare.js Pengenalan

Segmen menyediakan Nightmare, perpustakaan automasi penyemak imbas yang canggih. Matlamat mimpi ngeri ini adalah untuk meniru aktiviti pengguna (cth. pergi ke, taip, klik, dsb.), dan bukannya menggunakan banyak panggilan balik bersarang, dedahkan beberapa kaedah asas melalui API untuk menjadikan setiap blok skrip terasa segerak. Walaupun tujuannya adalah untuk mengautomasikan operasi merentas tapak web tanpa API, hari ini ia paling biasa digunakan untuk merangkak, ujian UI, dsb.

NOTA- NodeJS 4.x atau lebih tinggi diperlukan untuk menjalankan Nightmare.

Pasang Nightmare.js

Untuk menguji antara muka tapak web, kami mencuba Nightmare.js, perpustakaan automasi penyemak imbas JavaScript.

Menggunakan Nightmare pada PC adalah lebih mudah daripada menggunakan Cloud 9. Di bawah ialah arahan persediaan dan permulaan.

Langkah 1 Muat Turun Node.js

JavaScript biasanya berjalan dalam penyemak imbas. Node.js ialah variasi JavaScript yang boleh digunakan pada pelayan, terminal atau perkakasan lain. Ia memudahkan untuk mencipta dan melaksanakan skrip Nightmare.

Pautan muat turun Node.js

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

Langkah 2 Muat Turun NPM

Anda boleh menyediakan pustaka Nightmare menggunakan Pengurus Pakej Node (npm). Kebergantungan Nightmare semuanya akan dipasang, dan apabila anda memasangnya menggunakan npm, ia akan dipasang juga.

Pautan pemasangan NPM

https://nodejs.org/en/

Langkah 3 Pasang perpustakaan Nightmare.js

Gunakan arahan

npm install nightmare 

Kami telah melihat cara memasang pustaka Nightmare.js dalam Node js Playground, sekarang mari kita lihat beberapa asas mimpi ngeri dan kemudian kita akan beralih kepada objek mimpi ngeri.

Sintaks asas mimpi ngeri ialah -

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

Dalam kod di atas, kami telah mengimport "Nightmare" dalam kod menggunakan kaedah require() Node js dan kemudian menyimpannya ke dalam pembolehubah, yang kemudiannya kami gunakan untuk menentukan beberapa objek dan pembolehubah storan nilai dalam kurungan dan menyimpannya ke dalam berubah-ubah lagi.

Kami telah melihat beberapa struktur kod asas nightmare.js, sekarang mari beralih kepada objek Nightmare.js -

Objek Nightmare.js

Memandangkan Nightmare.js mencipta objek baharu yang boleh menavigasi web dan menyediakan perkara yang berguna, untuk menambah lebih banyak spesifikasi di sini, kami mempunyai objek Nightmare yang akan membantu kami melayari web yang lebih baik, mari Lihat beberapa daripadanya -

Menunggu tamat masa

Masa lalai objek ini ialah 30 saat Pengguna juga boleh menentukan beberapa masa mengikut keperluan Jika fungsi ".wati()" gagal mengembalikan nilai sebenar dalam julat masa yang ditetapkan, pengecualian akan dilemparkan.

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

Dalam kod di atas, mula-mula, kami mengimport mimpi ngeri ke dalam sistem kami dan kemudian mencipta objek untuknya. Dalam pembolehubah kami menyediakan objek "waitTimeout" dengan nilai 2000 milisaat.

PERGI KE TIMEOUT

Masa lalai objek ini ialah 30 saat. Pengguna juga boleh menentukan masa mengikut keperluan Jika fungsi ".goto()" gagal dimuatkan dalam julat masa yang disediakan atau ditetapkan, pengecualian akan dilemparkan

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

Dalam kod di atas, mula-mula, kami mengimport mimpi ngeri ke dalam sistem kami dan kemudian mencipta objek untuknya. Dalam pembolehubah kami menyediakan objek "gotoTimeout" dengan nilai 2000 milisaat.

Memuatkan tamat masa

Objek ini mempunyai masa lalai saat tak terhingga, pengguna juga boleh menentukan sedikit masa mengikut keperluan dan memaksa Nightmare untuk pergi apabila peralihan halaman tidak berlaku disebabkan oleh operasi seperti klik atau pergerakan tidak selesai dalam masa yang diberikan.

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

Dalam kod di atas, mula-mula, kami mengimport mimpi ngeri ke dalam sistem kami dan kemudian mencipta objek untuknya. Dalam pembolehubah kami menyediakan objek "loadTimeout" dengan nilai 2000 milisaat.

Tamat masa pelaksanaan

Objek ini mempunyai masa lalai selama 30 saat Pengguna juga boleh menentukan sedikit masa mengikut keperluan dan memaparkan masa maksimum untuk menunggu penyataan kaedah ".evaluate" selesai.

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

Dalam kod di atas, mula-mula, kami mengimport mimpi ngeri ke dalam sistem kami dan kemudian mencipta objek untuknya. Dalam pembolehubah kami menyediakan objek "executionTimeout" dengan nilai 2000 milisaat.

Laluan

Elektronik mentakrifkan banyak laluan sistem lalai. Laluan ini boleh diganti dengan menggunakan objek laluan Nightmare, yang boleh dilakukan dengan kod berikut -

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

Dalam kod di atas, mula-mula, kami mengimport mimpi ngeri ke dalam sistem kami dan kemudian mencipta objek untuknya. Dalam pembolehubah kami menyediakan laluan objek di mana laluan elektron ditakrifkan.

Laluan Elektronik

Ini sangat membantu untuk menguji pelbagai versi Elektron, dan ini adalah laluan pra-bina ke binari Elektron. Laluan ini boleh diganti dengan menggunakan objek laluan Nightmare. Mari lihat kod bagaimana laluan elektron ditakrifkan -

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

Atas ialah kandungan terperinci Pengenalan dan pemasangan Nightmare.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam