การทดสอบแบบ end-to-end ด้วย Angular

เผยแพร่แล้ว: 2023-01-20

การทดสอบแบบครบวงจรเป็นองค์ประกอบที่สำคัญในการพัฒนาแอปพลิเคชันซอฟต์แวร์ใดๆ ช่วยให้มั่นใจได้ว่าแอปพลิเคชันของคุณทำงานตามที่คาดไว้ในเงื่อนไขและสถานการณ์ต่างๆ การทดสอบแบบครบวงจรมีความสำคัญอย่างยิ่งเมื่อคุณพัฒนาแอปพลิเคชันที่ซับซ้อน เช่น แอปพลิเคชันที่สร้างด้วย Angular เราจะสำรวจวิธีการทำการทดสอบแบบ end-to-end ด้วย Angular และเครื่องมือใดที่คุณสามารถใช้กับงานได้ นอกจากนี้ เรายังจะอภิปรายว่าทำไมบริการทดสอบซอฟต์แวร์อิสระแบบ end-to-end จึงมีความสำคัญ และจะช่วยคุณประหยัดเวลาและเงินในระยะยาวได้อย่างไร

การทดสอบแบบ end-to-end คืออะไร?

การทดสอบแบบครบวงจรเป็นวิธีการที่ใช้ในการทดสอบแอปพลิเคชันตั้งแต่ต้นจนจบ เป้าหมายของการทดสอบแบบ end-to-end คือเพื่อให้แน่ใจว่าแอปพลิเคชันทำงานตามที่คาดไว้ในทุกสถานการณ์

การทดสอบเชิงมุมแบบ end-to-end สามารถทำได้โดยใช้เครื่องมือต่างๆ เช่น Protractor, webdriverIO และ Selenium เครื่องมือเหล่านี้ช่วยให้คุณทำการทดสอบโดยอัตโนมัติและเรียกใช้การทดสอบกับเบราว์เซอร์จริง

Angular เป็นเฟรมเวิร์กยอดนิยมสำหรับสร้างเว็บแอปพลิเคชัน การทดสอบแบบครบวงจรด้วย Angular ช่วยให้คุณทดสอบแอปพลิเคชันของคุณในสถานการณ์จริงได้ การทดสอบประเภทนี้มีความสำคัญเนื่องจากสามารถตรวจจับข้อผิดพลาดที่อาจไม่พบในการทดสอบหน่วย

เหตุใดจึงต้องใช้เชิงมุมสำหรับการทดสอบแบบครบวงจร

การทดสอบแบบครบวงจรเป็นส่วนสำคัญของกระบวนการพัฒนาซอฟต์แวร์ ช่วยให้คุณสามารถทดสอบแอปพลิเคชันของคุณตั้งแต่ต้นจนจบ เพื่อให้มั่นใจว่าฟังก์ชันการทำงานทั้งหมดเป็นไปตามที่คาดไว้ เชิงมุมเป็นเครื่องมืออันทรงพลังที่สามารถช่วยคุณทำการทดสอบตั้งแต่ต้นทางถึงปลายทางโดยอัตโนมัติ ต่อไปนี้คือประโยชน์บางประการของการใช้เชิงมุมสำหรับการทดสอบแบบ end-to-end:

1. เชิงมุมช่วยให้สร้างแบบทดสอบที่ทำซ้ำได้และสม่ำเสมอได้ง่าย

2. มีฟังก์ชันในตัวมากมายที่ทำให้การทดสอบแบบ end-to-end ง่ายขึ้น เช่น การแทรกการพึ่งพาและการผูกข้อมูล

3. Angular เป็นเฟรมเวิร์กยอดนิยมที่มีชุมชนนักพัฒนาขนาดใหญ่ที่สามารถให้การสนับสนุนและคำแนะนำได้

4. มีเครื่องมือโอเพ่นซอร์สมากมายสำหรับการทดสอบแบบ end-to-end แบบอัตโนมัติด้วยเชิงมุม

การตั้งค่าสภาพแวดล้อมของคุณสำหรับการทดสอบแบบ end-to-end ด้วยเชิงมุม

สมมติว่าคุณติดตั้ง Angular CLI แล้วมาสร้างโครงการใหม่:

ng แอปของฉันใหม่

สิ่งนี้จะสร้างไดเร็กทอรีใหม่ที่ชื่อว่า my-app พร้อมด้วยไฟล์ที่จำเป็นทั้งหมดและการอ้างอิงที่จำเป็นสำหรับการเรียกใช้แอปพลิเคชันเชิงมุม

ต่อไปเราต้องติดตั้งไม้โปรแทรกเตอร์ สามารถทำได้โดยใช้ npm:

cd my-app

npm ติดตั้ง -g ไม้โปรแทรกเตอร์

การอัปเดตตัวจัดการโปรแกรมควบคุมเว็บ – เท็จแบบสแตนด์อโลน – ตุ๊กแกเท็จ

ตัวจัดการโปรแกรมควบคุมเว็บเป็นเครื่องมือช่วยในการเรียกใช้อินสแตนซ์ของเซิร์ฟเวอร์ Selenium ได้อย่างง่ายดาย คำสั่งดังกล่าวจะดาวน์โหลดไบนารีที่จำเป็นลงในสภาพแวดล้อมภายในเครื่องของคุณ

เมื่อติดตั้งทุกอย่างเรียบร้อยแล้ว เราก็เริ่มเขียนแบบทดสอบของเราได้เลย สร้างไฟล์ใหม่ในรูทของโครงการชื่อ e2e.ts

การเขียนแบบทดสอบแบบ end-to-end ครั้งแรกของคุณ

เมื่อพูดถึงการเขียนแบบทดสอบตั้งแต่ต้นจนจบ มีบางสิ่งที่ต้องคำนึงถึง ขั้นแรก คุณต้องแน่ใจว่าการทดสอบของคุณครอบคลุมฟังก์ชันการทำงานทั้งหมดของแอปพลิเคชันของคุณ ประการที่สอง คุณต้องการเขียนแบบทดสอบในแบบที่ง่ายต่อการเข้าใจและดูแลรักษา สุดท้าย คุณจะต้องดำเนินการทดสอบกับเบราว์เซอร์จริงเพื่อให้แน่ใจว่าทุกอย่างทำงานตามที่คาดไว้

เมื่อคำนึงถึงสิ่งเหล่านั้นแล้ว ลองมาดูวิธีเขียนแบบทดสอบแบบ end-to-end ครั้งแรกของคุณกัน เราจะใช้เครื่องมือ Angular CLI เพื่อสร้างการทดสอบ และจะทดสอบฟังก์ชันการเข้าสู่ระบบของแอปพลิเคชันของเรา

ในการเริ่มต้น เราจะต้องติดตั้งเครื่องมือ Angular CLI คุณสามารถทำได้โดยใช้คำสั่งต่อไปนี้:

npm ติดตั้ง -g @angular/cli

ก่อนอื่น คุณจะต้องนำเข้าโมดูลที่เกี่ยวข้องจาก @angular/testing ในไฟล์ทดสอบแบบ end-to-end ของคุณจะมีลักษณะดังนี้:

นำเข้า { TestBed } จาก '@angular/core/testing';

นำเข้า { BrowserModule } จาก '@angular/platform-browser';

นำเข้า { NgModule } จาก '@angular/core';

นำเข้า { AppComponent } จาก './app.component';

นำเข้า { LoginComponent } จาก './login/login.component';

ถัดไป คุณต้องกำหนดค่าโมดูลการทดสอบของคุณ นี่คือที่ที่คุณจะบอกแองกูลาร์ว่าใช้ส่วนประกอบใดในการทดสอบของคุณและจะหาได้จากที่ใด

การดีบักการทดสอบแบบ end-to-end

เมื่อรันการทดสอบแบบ end-to-end บางครั้งจำเป็นต้องดีบักการทดสอบด้วยตัวเอง สามารถทำได้หลายวิธี ขึ้นอยู่กับนักวิ่งทดสอบที่ใช้

หากใช้ Protractor คุณสามารถใช้คำสั่ง browser.pause() เพื่อหยุดการดำเนินการทดสอบชั่วคราวเมื่อใดก็ได้ การดำเนินการนี้จะเปิดคอนโซลการดีบักในเบราว์เซอร์ ให้คุณตรวจสอบสถานะของแอปพลิเคชันและดำเนินการต่อเมื่อพร้อม

หากใช้จัสมิน คุณสามารถใช้ดีบักเกอร์ได้ คำสั่งในรหัสของคุณเพื่อเจาะเข้าไปในตัวดีบั๊ก ณ จุดนั้น สิ่งนี้จะช่วยให้คุณสามารถผ่านโค้ดและตรวจสอบตัวแปรได้ตามต้องการ

นอกจากนี้ยังเป็นไปได้ที่จะดีบักการทดสอบจากระยะไกล โดยเชื่อมต่อไคลเอนต์ดีบักกับกระบวนการทดสอบ ซึ่งมักจะมีประโยชน์เมื่อเรียกใช้การทดสอบในสภาพแวดล้อม CI/CD ซึ่งอาจไม่สามารถเข้าถึงเบราว์เซอร์ได้โดยตรง

การทดสอบแบบ end-to-end เป็นวิธีที่ยอดเยี่ยมในการตรวจจับจุดบกพร่องตั้งแต่เนิ่นๆ ในกระบวนการพัฒนา นอกจากนี้ยังเป็นวิธีที่ดีในการทำความเข้าใจว่าแอปพลิเคชันของคุณจะทำงานอย่างไรในโลกแห่งความเป็นจริง

เครื่องมือทดสอบแบบ end-to-end ของ Angular ทำให้ง่ายต่อการเขียนและรันการทดสอบสำหรับแอปพลิเคชันเชิงมุมของคุณ ในบล็อกโพสต์นี้ เราจะแสดงวิธีตั้งค่าและเรียกใช้การทดสอบแบบ end-to-end สำหรับแอปพลิเคชันเชิงมุมของคุณโดยใช้เครื่องมือ Protractor

Protractor เป็นเฟรมเวิร์กการทดสอบแบบ end-to-end สำหรับแอปพลิเคชันเชิงมุม เป็นโปรแกรม anode.js ที่ทำการทดสอบกับแอปพลิเคชันที่ทำงานในเบราว์เซอร์จริง

บทสรุป

โดยสรุป การทดสอบแบบครบวงจรด้วยเชิงมุมเป็นวิธีที่มีประสิทธิภาพในการทดสอบแอปพลิเคชันของคุณอย่างละเอียดและรับประกันคุณภาพก่อนที่จะเผยแพร่ ด้วยการสร้างการทดสอบที่จำลองการโต้ตอบของผู้ใช้ เช่น การคลิก การกดแป้นพิมพ์ และการป้อนข้อความ คุณจะสามารถตรวจจับและแก้ไขข้อบกพร่องในซอฟต์แวร์ได้อย่างง่ายดาย นอกจากนี้ การทดสอบแบบ end-to-end ด้วยมุมช่วยให้สามารถควบคุมระบบทั้งหมดได้มากขึ้นโดยให้คุณเข้าถึงส่วนประกอบทั้งหมดของแอปพลิเคชัน ด้วยความรู้นี้ คุณจะสร้างเว็บหรือผลิตภัณฑ์บนมือถือที่ประสบความสำเร็จได้อย่างแน่นอน

ผู้เขียน BIO

Santosh เป็นนักพัฒนาส่วนหน้าที่มีความกระตือรือร้นของบริษัทพัฒนาเชิงมุมชั้นนำในอินเดีย ปัจจุบันทำงานร่วมกับ Devstringx Technologies ในตำแหน่งหัวหน้าทีมส่วนหน้า ด้วยประสบการณ์กว่าทศวรรษในการพัฒนา เขามีประสบการณ์มากกว่า 8 ปี เขาสนับสนุนอย่างยิ่งสำหรับความหลากหลายและการรวมเข้าด้วยกัน เขามีประสบการณ์ที่ยอดเยี่ยมในการพัฒนารูปแบบต่างๆ เช่น Bootstrap, Vuejs, Angular และ React Development เขาชอบสำรวจเครื่องมือและเทคโนโลยีใหม่ๆ และแบ่งปันประสบการณ์ด้วยการเขียนบล็อก