Busur derajat - Pendahuluan

Bab ini memberi Anda pengantar Busur derajat, di mana Anda akan belajar tentang asal mula kerangka pengujian ini dan mengapa Anda harus memilih ini, cara kerja dan batasan alat ini.

Apa itu busur derajat?

Busur derajat adalah kerangka pengujian ujung ke ujung open source untuk aplikasi Angular dan AngularJS. Itu dibuat oleh Google di atas WebDriver. Ini juga berfungsi sebagai pengganti kerangka kerja pengujian AngularJS E2E yang ada yang disebut "Angular Scenario Runner".

Ia juga berfungsi sebagai integrator solusi yang menggabungkan teknologi canggih seperti NodeJS, Selenium, Jasmine, WebDriver, Cucumber, Mocha dll. Seiring dengan pengujian aplikasi AngularJS, ia juga menulis uji regresi otomatis untuk aplikasi web normal. Ini memungkinkan kita untuk menguji aplikasi kita seperti pengguna sungguhan karena menjalankan pengujian menggunakan browser yang sebenarnya.

Diagram berikut akan memberikan gambaran singkat tentang busur derajat -

Perhatikan bahwa pada diagram di atas, kita memiliki -

  • Protractor - Seperti dibahas sebelumnya, ini adalah pembungkus WebDriver JS yang dirancang khusus untuk aplikasi sudut.

  • Jasmine- Ini pada dasarnya adalah kerangka kerja pengembangan yang digerakkan oleh perilaku untuk menguji kode JavaScript. Kami dapat menulis tes dengan mudah dengan Jasmine.

  • WebDriver JS - Ini adalah implementasi binding Node JS untuk selenium 2.0 / WebDriver.

  • Selenium - Ini hanya mengotomatiskan browser.

Asal

Seperti yang dikatakan sebelumnya, Busur derajat adalah pengganti kerangka pengujian AngularJS E2E yang ada yang disebut "Angular Scenario Runner". Pada dasarnya, asal Busur derajat dimulai dengan akhir dari Skenario Runner. Sebuah pertanyaan yang muncul disini adalah mengapa kita perlu membangun busur derajat? Untuk memahami ini, pertama-tama kita perlu memeriksa pendahulunya - Scenario Runner.

Awal Busur Derajat

Julie Ralph, kontributor utama pengembangan Protractor, memiliki pengalaman berikut dengan Angular Scenario Runner di proyek lain dalam Google. Hal ini semakin menjadi motivasi untuk membangun Busur Derajat, khususnya untuk mengisi kekosongan -

“Kami mencoba menggunakan Scenario Runner dan kami menemukan bahwa itu benar-benar tidak dapat melakukan hal-hal yang perlu kami uji. Kami perlu menguji hal-hal seperti login. Halaman login Anda bukanlah halaman Angular, dan Scenario Runner tidak bisa mengatasinya. Dan tidak dapat menangani hal-hal seperti munculan dan banyak jendela, menavigasi riwayat browser, hal-hal seperti itu. ”

Keuntungan terbesar dari Busur Derajat adalah kematangan proyek Selenium dan itu menyimpulkan metodenya sehingga dapat dengan mudah digunakan untuk proyek Angular. Desain Busur Derajat dibangun sedemikian rupa sehingga menguji semua lapisan seperti UI web, layanan backend, lapisan persistensi, dan sebagainya dari suatu aplikasi.

Mengapa Busur Derajat?

Seperti kita ketahui bahwa hampir semua aplikasi menggunakan JavaScript untuk pengembangannya. Tugas penguji menjadi sulit ketika JavaScript bertambah besar dan menjadi kompleks untuk aplikasi karena meningkatnya jumlah aplikasi itu sendiri. Seringkali menjadi sangat sulit untuk menangkap elemen web dalam aplikasi AngularJS, menggunakan sintaks HTML yang diperluas untuk mengekspresikan komponen aplikasi web, dengan menggunakan JUnit atau Selenium WebDriver.

Pertanyaannya di sini adalah mengapa Selenium Web Driver tidak dapat menemukan elemen web AngularJS? Alasannya adalah karena aplikasi AngularJS memiliki beberapa atribut HTML tambahan seperti ng-repeater, ng-controller dan ng-model dll. Yang tidak termasuk dalam pencari Selenium.

Di sini, pentingnya Busur Derajat muncul karena Busur Derajat di atas Selenium dapat menangani dan mengontrol elemen HTML yang diperluas tersebut dalam aplikasi web AngularJS. Itulah sebabnya kami dapat mengatakan bahwa sebagian besar kerangka kerja fokus pada melakukan pengujian unit untuk aplikasi AngularJS, Busur derajat digunakan untuk melakukan pengujian fungsionalitas sebenarnya dari suatu aplikasi.

Kerja Busur Derajat

Busur derajat, kerangka pengujian, bekerja bersama dengan Selenium untuk menyediakan infrastruktur pengujian otomatis untuk mensimulasikan interaksi pengguna dengan aplikasi AngularJS yang berjalan di browser atau perangkat seluler.

Cara kerja busur derajat dapat dipahami dengan bantuan langkah-langkah berikut -

  • Step 1- Pada langkah pertama, kita perlu menulis tes. Itu bisa dilakukan dengan bantuan Jasmine atau Mocha atau Cucumber.

  • Step 2- Sekarang, kita perlu menjalankan tes yang bisa dilakukan dengan bantuan Busur Derajat. Ini juga disebut pelari uji.

  • Step 3 - Pada langkah ini, server Selenium akan membantu mengelola browser.

  • Step 4 - Akhirnya, API browser dipanggil dengan bantuan Selenium WebDriver.

Keuntungan

Kerangka pengujian ujung ke ujung open source ini menawarkan keuntungan berikut -

  • Alat open source, Busur derajat sangat mudah dipasang dan diatur.

  • Bekerja dengan baik dengan framework Jasmine untuk membuat pengujian.

  • Mendukung pengembangan yang digerakkan oleh pengujian (TDD).

  • Berisi menunggu otomatis yang berarti kami tidak perlu menambahkan waktu tunggu dan tidur secara eksplisit ke pengujian kami.

  • Menawarkan semua keunggulan Selenium WebDriver.

  • Mendukung pengujian paralel melalui beberapa browser.

  • Memberikan manfaat sinkronisasi otomatis.

  • Memiliki kecepatan pengujian yang sangat baik.

Batasan

Kerangka kerja pengujian ujung ke ujung open source ini memiliki batasan berikut -

  • Tidak menemukan vertikal apa pun dalam otomatisasi browser karena ini adalah pembungkus untuk WebDriver JS.

  • Pengetahuan tentang JavaScript sangat penting bagi pengguna, karena hanya tersedia untuk JavaScript.

  • Hanya menyediakan pengujian front-end karena ini adalah alat pengujian yang digerakkan oleh UI.