สารบัญ[ซ่อน][แสดง]
ทีมพัฒนาเว็บทุกทีมทำการทดสอบผลิตภัณฑ์ของตน แต่โซลูชันเว็บที่ได้รับในภายหลังก็มีข้อบกพร่อง
แม้จะมีการทดสอบด้วยตนเองอย่างดีที่สุด ข้อบกพร่องก็เล็ดลอดเข้ามาและกลับมารวมกันอีกครั้งอย่างหลีกเลี่ยงไม่ได้ แม้ว่าทีม QA จะพยายามตรวจจับข้อบกพร่องเหล่านั้นก่อนการเปิดตัวครั้งแรกก็ตาม
เมื่อต้องการเพิ่มประสิทธิภาพและขอบเขตของการทดสอบซอฟต์แวร์ การทดสอบเว็บอัตโนมัติเป็นทางเลือกที่ดีที่สุดของคุณ
สำหรับการทดสอบออนไลน์ Python ภาษาโปรแกรม เสนอกรอบงานหุ่นยนต์ที่สามารถใช้ประโยชน์จากไลบรารีภายนอกเช่นซีลีเนียม
ในโพสต์นี้ เราจะพูดถึงกรณีทดสอบและข้อกำหนดอื่นๆ ที่เชื่อมโยงกับเฟรมเวิร์กของหุ่นยนต์ Python
กรอบงานหุ่นยนต์คืออะไร?
กรอบงานหุ่นยนต์ เป็นเฟรมเวิร์กการทำงานอัตโนมัติทั่วไปแบบโอเพนซอร์สที่ยืดหยุ่นซึ่งเขียนด้วย Python ที่ใช้สำหรับการทดสอบซอฟต์แวร์อัตโนมัติ กระบวนการอัตโนมัติของหุ่นยนต์ การทดสอบการยอมรับ และการพัฒนาที่ขับเคลื่อนด้วยการทดสอบเพื่อการยอมรับ
พูดง่ายๆ ก็คือ มันคือกรอบงานทดสอบระบบอัตโนมัติที่ใช้คำสำคัญแบบ Python
ช่วยให้ผู้ทดสอบสามารถดำเนินการอัตโนมัติและรักษาสคริปต์กระบวนการที่ซับซ้อนได้อย่างมีประสิทธิภาพ กรอบงานสามารถใช้เพื่อทดสอบส่วนต่อประสานผู้ใช้และส่วนต่อประสานการเขียนโปรแกรมแอปพลิเคชัน
ช่วยให้วิศวกรทดสอบใช้ซีลีเนียมนอกเหนือจากการผสานรวมอื่น ๆ มากมาย Selenium เป็นเครื่องมือมาตรฐานอุตสาหกรรมสำหรับพฤติกรรมของผู้ใช้โดยอัตโนมัติและการเขียนสคริปต์การโต้ตอบของเว็บเบราว์เซอร์ที่อิงตามผู้ใช้สำหรับเว็บไซต์ใดๆ
การทดสอบการยอมรับคืออะไร?
เป็นวิธีการกำหนดความสามารถของระบบ เป้าหมายของการทดสอบการยอมรับคือการประเมินความสามารถของระบบที่เกี่ยวข้องกับความต้องการทางธุรกิจ
กระบวนการอัตโนมัติของหุ่นยนต์คืออะไร?
RPA หรือกระบวนการอัตโนมัติของหุ่นยนต์เป็นวิธีการลดแรงงานมนุษย์โดยใช้ซอฟต์แวร์ที่รวม เรียนรู้เครื่อง และความสามารถของ AI RPA ถูกใช้เพื่อทำให้กระบวนการระดับสูงซ้ำๆ เป็นไปโดยอัตโนมัติ
การพัฒนาที่ขับเคลื่อนด้วยการทดสอบการยอมรับคืออะไร?
การพัฒนาที่ขับเคลื่อนด้วยการทดสอบเพื่อการยอมรับ หรือมักเรียกว่า ATDD เป็นเทคนิคการพัฒนาที่อาศัยการสื่อสารระหว่างลูกค้าธุรกิจ นักพัฒนา และผู้ทดสอบ พวกเขาทำงานร่วมกันและดำเนินการทดสอบการยอมรับก่อนที่จะปรับใช้คุณลักษณะ
กรอบงานหุ่นยนต์ – สถาปัตยกรรมระดับสูง
Robot Framework เป็นเฟรมเวิร์กที่ไม่เชื่อเรื่องพระเจ้าในการประยุกต์ใช้และเทคโนโลยี สถาปัตยกรรมเป็นแบบโมดูลาร์มาก ดังที่เห็นในภาพด้านล่าง
ข้อมูลการทดสอบถูกนำเสนอในรูปแบบตารางที่เรียบง่ายและสามารถแก้ไขได้ Robot Framework วิเคราะห์ข้อมูล ดำเนินการกรณีทดสอบ และสร้างบันทึกและรายงานเมื่อเริ่มต้น
เฟรมเวิร์กหลักไม่มีความรู้เกี่ยวกับเป้าหมายที่ทดสอบ และไลบรารีจัดการการโต้ตอบทั้งหมดกับเป้าหมาย ห้องสมุดสามารถใช้เครื่องมือทดสอบระดับล่างเป็นไดรเวอร์หรือใช้อินเทอร์เฟซของแอปพลิเคชันได้โดยตรง
คุณสมบัติ
- อำนวยความสะดวกในการทดสอบที่ขับเคลื่อนด้วยข้อมูลโดยอนุญาตให้ทำการทดสอบอัตโนมัติสำหรับต่างๆ ประเภทข้อมูล.
- หลีกเลี่ยงการใช้โค้ดจำนวนมากและใช้กลยุทธ์การทดสอบตามพฤติกรรมแทน
- สามารถทำงานร่วมกับห้องสมุดและฟังก์ชันจากบุคคลที่สาม
- คำหลัก (กำหนดไว้ล่วงหน้าหรือกำหนดโดยผู้ใช้) ใช้ในรูปแบบตารางเพื่อเขียนกรณีทดสอบ
- ผู้ใช้สามารถสร้างคีย์เวิร์ดได้
- อนุญาตให้ใช้ตัวแปรได้
- กรอบงานใช้วิธีการที่ขับเคลื่อนด้วยคำสำคัญ ซึ่งสคริปต์ถูกเขียนโดยใช้คำศัพท์เล็กๆ น้อยๆ ที่เข้าใจได้ง่าย (ทั้งที่กำหนดไว้ล่วงหน้าหรือกำหนดโดยผู้ใช้)
- หลังจากสร้างแต่ละครั้ง รายงาน
- และบันทึกจะถูกสร้างขึ้น
- จะสร้างรายงานและบันทึกสถานะการดำเนินการของสคริปต์อย่างละเอียด ซึ่งมีประโยชน์อย่างยิ่งในกรณีที่สคริปต์ล้มเหลว
กวดวิชาเฟรมเวิร์กหุ่นยนต์
ลองมาดูกันเถอะ
1. การติดตั้งเฟรมเวิร์กหุ่นยนต์
แนะนำให้ใช้แพ็คเกจ pip สำหรับการติดตั้งกรอบงานหุ่นยนต์ใน Python ในการติดตั้งเฟรมเวิร์ก ให้รันคำสั่งต่อไปนี้
คุณควรจะสามารถดูทั้งเวอร์ชันล่ามและโรบ็อตเฟรมเวิร์กหลังจากการติดตั้งสำเร็จโดยใช้ตัวเลือก -version
2. ห้องสมุด
- Builtin – นี่คือไลบรารีมาตรฐานที่มีชุดของคำสำคัญที่ใช้กันทั่วไปซึ่งนำเข้าโดยอัตโนมัติและพร้อมใช้งานตลอดเวลา
- คอลเลกชัน – มีชุดของคำหลักสำหรับการทำงานกับรายการ Python และพจนานุกรม คำหลักของห้องสมุดสามารถใช้เพื่อเปลี่ยนและสร้างค่าจากรายการและพจนานุกรม
- ไดอะล็อก – ไลบรารีมาตรฐานสำหรับการหยุดการดำเนินการและรับคำติชมของผู้ใช้ ขึ้นอยู่กับว่าการทดสอบกำลังทำงานอยู่หรือไม่ ไดอะล็อกไม่สอดคล้องกันเล็กน้อย
- DateTime ช่วยให้คุณสร้างและแก้ไขข้อมูลวันที่และเวลาได้
- ระบบปฏิบัติการ – ช่วยให้กรอบงานหุ่นยนต์ทำงานที่เกี่ยวข้องกับระบบปฏิบัติการต่างๆ ในระบบในขณะที่กำลังทำงาน มันสามารถดำเนินการตามคำสั่งและสร้างและแก้ไขข้อมูลได้โดยตรง
- กระบวนการ – ไลบรารีนี้ใช้เพื่อเรียกใช้กระบวนการโดยใช้โมดูลย่อย Python และคลาสเปิด คีย์เวิร์ด run process ใช้เพื่อรอกระบวนการที่ทำงานอยู่ในระบบและคอมไพล์
- XML ยังเป็นไลบรารีข้อความที่ใช้โดยกรอบงานหุ่นยนต์เพื่อตรวจสอบและแก้ไขเอกสาร XML
- สตริงเป็นแพ็คเกจสำหรับจัดการและตรวจสอบสตริง
- ใช้ Telnet ที่อนุญาตให้คุณโต้ตอบผ่าน telnet ไลบรารี telnet อนุญาตให้คุณเชื่อมต่อกับเซิร์ฟเวอร์ telnet ผ่านการเชื่อมต่อ TCP/IP ปกติและดำเนินการคำสั่ง
3. เครื่องมือในตัว
ในกรอบงานของหุ่นยนต์ มีเครื่องมือในตัวหลักสี่ตัวที่ใช้:
- Rebot – เครื่องมือสำหรับสร้างบันทึกและรายงานจากเอาต์พุต XML และรวมเอาต์พุตจำนวนมากพร้อมกัน
- Testdoc — จากกรณีทดสอบ Robot Framework จะสร้างเอกสาร HTML ระดับสูง
- Libdoc – ตัวสร้างเอกสารคำสำคัญสำหรับไลบรารีและไฟล์ทรัพยากร
- Tidy – Robot Framework Tools สำหรับทำความสะอาดและแปลงไฟล์ข้อมูลเป็นรูปแบบอื่น
4. กรณีทดสอบ
แทนที่จะเขียนกรณีทดสอบอัตโนมัติ กรณีทดสอบในกรอบงานหุ่นยนต์สามารถเขียนเป็นภาษาอังกฤษพื้นฐานได้ การทดสอบต่อไปนี้สามารถใช้เพื่อจำแนกสถานการณ์การทดสอบได้
- การทดสอบเวิร์กโฟลว์
- การทดสอบระดับสูง
- การทดสอบที่ขับเคลื่อนด้วยข้อมูล
การทดสอบเวิร์กโฟลว์
กรณีทดสอบของกรอบงานโรบ็อตมักเขียนด้วยไวยากรณ์แบบตาราง คอลัมน์แรกของตารางกรณีทดสอบประกอบด้วยชื่อการทดสอบ และกรณีทดสอบเริ่มต้นด้วยอะไรก็ได้ในคอลัมน์และลงท้ายด้วยชื่อกรณีทดสอบถัดไปหรือจุดสิ้นสุดของตาราง
มาดูตัวอย่างการใช้งานจริงเพื่อทำความเข้าใจวิธีการทำงาน
- ผู้ใช้สามารถสร้างบัญชีและเข้าสู่ระบบได้
- ผู้ใช้จะไม่สามารถเข้าสู่ระบบได้หากรหัสผ่านไม่ถูกต้อง
การทดสอบระดับสูง
โดยทั่วไป คอลัมน์ที่สองจะมีชื่อคีย์เวิร์ด ยกเว้นการตั้งค่าตัวแปรด้วยค่าที่เขียนด้วยคีย์เวิร์ด
กรณีทดสอบของกรอบงานหุ่นยนต์สามารถสร้างขึ้นได้โดยใช้เพียงคำหลักระดับสูงและไม่มีพารามิเตอร์ตำแหน่ง เพื่อทำความเข้าใจการทดสอบระดับสูง ให้พิจารณาตัวอย่างต่อไปนี้
การทดสอบที่ขับเคลื่อนด้วยข้อมูล
การทดสอบที่ขับเคลื่อนด้วยข้อมูลจะแยกข้อมูลการทดสอบแทนที่จะจำลองขั้นตอน ในกรอบงานของหุ่นยนต์ การตั้งค่า [แม่แบบ] จะกำหนดกรณีทดสอบสำหรับการทดสอบที่ขับเคลื่อนด้วยข้อมูล
5. คำหลัก
ในการสร้างกรณีทดสอบในกรอบงานหุ่นยนต์ จะใช้คำหลักจากสองแหล่ง
- คำสำคัญสำหรับห้องสมุด
- คำสำคัญสำหรับผู้ใช้
คำสำคัญสำหรับห้องสมุด
ไลบรารีมาตรฐานกำหนดคำศัพท์ระดับต่ำสุดทั้งหมด ซึ่งอาจนำมาใช้โดยใช้ภาษาคอมพิวเตอร์เช่น Python และ Java.
ไลบรารีมาตรฐาน ภายนอก และแบบกำหนดเองเป็นหนึ่งในไลบรารีทดสอบที่พร้อมใช้งานกับเฟรมเวิร์กของโรบ็อต เฟรมเวิร์กหลักประกอบด้วยในตัว ภาพหน้าจอ ระบบปฏิบัติการ และไลบรารีมาตรฐานอื่นๆ
คำสำคัญสำหรับผู้ใช้
ความสามารถในการสร้างคำหลักระดับสูงที่ไม่ซ้ำใครจากวลีที่มีอยู่เป็นหนึ่งในคุณสมบัติที่สำคัญที่สุดของการออกแบบหุ่นยนต์ เพื่อให้เข้าใจวิธีการทำงานมากขึ้น มาดูตัวอย่างกัน
6. ตัวแปร
ตัวแปรเป็นส่วนสำคัญของทุกกรณีทดสอบในกรอบงานของหุ่นยนต์ ตัวแปรเป็นวิธีที่ยอดเยี่ยมในการระบุข้อมูลในกรณีทดสอบที่อาจมีการเปลี่ยนแปลงหรือความแปรปรวน
มาดูวิธีการกำหนดตัวแปรในกรณีทดสอบกัน
การระบุตัวแปร
นอกเหนือจากตัวแปรที่ผู้ใช้กำหนดเอง เฟรมเวิร์กของโรบ็อตยังมีตัวแปรในตัว เช่น $TEMPDIR และ $/ ซึ่งเราใช้ในตัวอย่างก่อนหน้านี้
การใช้ตัวแปร
สามารถใช้ตัวแปรได้ทุกที่ในกรณีทดสอบ
อย่างไรก็ตาม ส่วนใหญ่จะใช้เป็นอาร์กิวเมนต์ของคีย์เวิร์ด พิจารณาตัวอย่างต่อไปนี้เพื่อแสดงให้เห็นว่าฉันหมายถึงอะไร
7. การจัดกรณีทดสอบ
ไฟล์กรณีทดสอบใช้เพื่อสร้างกรณีทดสอบหุ่นยนต์ แต่ยังสามารถจัดกลุ่มเป็นไดเร็กทอรีเพื่อสร้างลำดับชั้นของชุดการทดสอบ ชุดทดสอบคือการจัดกลุ่มกรณีทดสอบ ชุดทดสอบประกอบด้วยไฟล์ทั้งหมดที่มีกรณีทดสอบ
การใช้ไดเร็กทอรี กรณีทดสอบสามารถจัดโครงสร้างเป็นลำดับชั้นได้ ไดเร็กทอรีเหล่านี้ทั้งหมดจัดเตรียมชุดทดสอบระดับสูงพร้อมชื่อที่ได้มาจากชื่อไดเร็กทอรี
ใช้การตั้งค่าและ Teardowns
สามารถใช้ตัวเลือก "Test Setup" และ "Test Teardown" ของตารางการตั้งค่าเพื่อดำเนินการคำหลักเฉพาะในการทดสอบก่อนหรือหลังเสร็จสิ้น คุณยังสามารถใช้ "Suite Setup" และ "Suite Teardown" เพื่อรันคีย์เวิร์ดก่อนหรือหลังชุดทดสอบ
คุณสามารถสร้าง [ตั้งค่า] และ [Teardown] แบบกำหนดเองได้ในกรณีทดสอบ คล้ายกับ [Template] พิจารณาสถานการณ์สมมติต่อไปนี้เพื่อให้เข้าใจเรื่องนี้มากขึ้น
การใช้แท็ก
กรอบงานของโรบ็อตอนุญาตให้ใช้แท็กเพื่อให้ข้อมูลเมตาฟรีสำหรับกรณีทดสอบ สามารถใช้ "แท็กบังคับ" และ "แท็กเริ่มต้น" เพื่อตั้งค่าแท็กในไฟล์ได้ [แท็ก] เช่น [เทมเพลต] สามารถใช้เพื่อกำหนดแท็กให้กับกรณีทดสอบเดียว ลองดูตัวอย่างเพื่อดูว่าเราใช้แท็กอย่างไร
รายงานจะรวมแท็กที่มีกรณีทดสอบเชื่อมโยงอยู่ เช่นเดียวกับสถิติตามแท็ก หลังจากดำเนินการ
ข้อดี
- ง่ายต่อการติดตั้ง Robot Framework
- มันขึ้นอยู่กับการใช้คำหลัก
- ช่วยให้คุณสามารถใช้แตง
- ใช้ได้กับทั้ง แอพมือถือและเว็บ.
- พื้นฐานของ Robot Framework นั้นง่ายต่อการเข้าใจ
- มันใช้วิธีรหัสต่ำ
- รองรับ Windows, Mac OS X, Unix และ Linux
- Python, IronPython และ PyPy เป็นภาษาโปรแกรมที่รองรับทั้งหมด
- ใช้งานได้กับเว็บเบราว์เซอร์หลักๆ ทั้งหมด
- Robot Framework เป็นเครื่องมืออัตโนมัติแบบโอเพ่นซอร์สที่ใช้งานได้ฟรี
จุดด้อย
- Robot Framework ไม่รองรับการดำเนินการทดสอบแบบขนาน
- Robot Framework นั้นยากต่อการติดตาม
- รายงาน HTML ใน Robot Framework นั้นแก้ไขได้ยาก
- การดีบักปัญหา Robot Framework บางอย่างอาจเป็นเรื่องยาก
- มีการบังคับใช้การเยื้องอย่างเคร่งครัดใน Robot Framework
สรุป
Robot Platform เป็นเฟรมเวิร์กการพัฒนาที่ขับเคลื่อนด้วยการทดสอบเพื่อการยอมรับและโอเพนซอร์สฟรี
กรณีทดสอบของกรอบงานหุ่นยนต์สร้างขึ้นจากคำหลักที่แสดงในรูปแบบตาราง ซึ่งทำให้ง่ายต่อการเข้าใจและให้ข้อมูลที่ถูกต้องเกี่ยวกับความหมายของกรณีทดสอบ
สะดวกและใช้งานง่ายจริงๆ
พวกคุณบางคนเคยใช้มาก่อน ดังนั้นหากคุณได้ตั้งค่าการทดสอบและแอพ Android / iOS ของคุณพร้อมใช้งาน ลองใช้เลย
คุณจะประหลาดใจว่าสิ่งต่างๆ ดำเนินไปได้ดีเพียงใดและการทดสอบการยอมรับจะเสร็จสิ้นได้เร็วเพียงใด
เขียนความเห็น