Skip to Content
Testingการทดสอบ UI ของแอป

การทดสอบ UI ของแอป

OpenFactory สามารถเรียกใช้เวิร์กโฟลว์ของเบราว์เซอร์ที่นำมาใช้ซ้ำได้ใน VM ผู้ทดสอบเดสก์ท็อปที่ได้รับการจัดการ แอปพลิเคชันอาจถูกปรับใช้โดย OpenFactory หรือโฮสต์ไว้ที่ใดก็ได้ที่มี VM ผู้ทดสอบ สามารถเข้าถึงได้

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

สร้างและเรียกใช้สถานการณ์

รับ VM ผู้ทดสอบของแอป:

ensure_tester_vm(app="my-app", app_url="https://staging.example.com")

จากนั้นบันทึกสถานการณ์ที่มีขั้นตอนที่ใช้ป้ายกำกับบนหน้าจอที่มีความหมาย:

[ { "action": "open_url", "value": "${APP_URL}" }, { "action": "type", "target": "email field", "value": "${EMAIL}" }, { "action": "type", "target": "password field", "value": "${PASSWORD}" }, { "action": "click", "target": "Sign in" }, { "action": "assert_text", "expect": "Dashboard" }, { "action": "assert_no_error" } ]

ใช้ create_app_scenario จากนั้นรัน ID สถานการณ์ที่ส่งคืนด้วย run_app_scenario. การรันครั้งแรกแก้ไของค์ประกอบผ่าน OmniParser ต่อมา การรันสามารถนำแคชองค์ประกอบที่เสริมความแข็งแกร่งกลับมาใช้ใหม่และแก้ไขเฉพาะขั้นตอนที่เปลี่ยนแปลงเท่านั้น ตรวจสอบว่าแต่ละขั้นตอนถูกแคชหรือแยกวิเคราะห์เมื่อวิเคราะห์ผลลัพธ์หรือไม่

การวิ่งผ่านหมายถึงอะไร

รายงานจะนับเป็นการตรวจสอบเฉพาะเมื่อ:

  • สถานะของมันคือ passed;
  • กำหนดเป้าหมายสภาพแวดล้อมที่ต้องการและการแก้ไข
  • การป้องกันการแสดงละครและการเข้าสู่ระบบแอปพลิเคชันใด ๆ เสร็จสมบูรณ์ และ
  • การยืนยันเกิดขึ้นภายในผลิตภัณฑ์ ไม่ใช่ในหน้าเข้าสู่ระบบหรือหน้าการป้องกัน

สถานการณ์ที่ส่งผ่านแสดงให้เห็นเฉพาะขั้นตอนและการยืนยันที่ประกาศไว้เท่านั้น มันทำ ไม่สร้างความถูกต้องของแอปพลิเคชัน การเข้าถึง ความปลอดภัย หรืออย่างสมบูรณ์ พฤติกรรมข้ามเบราว์เซอร์

ตัวแปรและความลับ

ขั้นตอนการอ้างอิงค่าเป็น ${VAR} และเมล็ด TOTP เป็น ${totp:VAR} ไม่เป็นความลับ ค่าเริ่มต้นอาจอยู่กับสถานการณ์ ความลับสามารถเก็บไว้ในของเจ้าของได้ ที่เก็บคีย์เข้ารหัสเมื่อสร้างสถานการณ์ การแทนที่การรันครั้งเดียวผ่านไปแล้ว ถึง run_app_scenario จะถูกผสานสำหรับการรันนั้นและจะไม่คงอยู่

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

การยืนยันที่เป็นประโยชน์

  • assert_text ตรวจสอบข้อความที่มองเห็นได้ตามต้องการ
  • assert_no_error ตรวจสอบวลีข้อผิดพลาดในตัวหรือที่ให้มา
  • assert_visual เปรียบเทียบแฮชการรับรู้กับข้อมูลพื้นฐานที่เก็บไว้
  • assert_stable เก็บตัวอย่างพื้นที่สำหรับการกะพริบ/การหายไปโดยไม่คาดคิด
  • assert_progress ตรวจสอบว่าขอบเขตการสตรีมยังคงเปลี่ยนแปลงต่อไปเป็นเวลา ระยะเวลาขั้นต่ำ
  • network สามารถขัดจังหวะและกู้คืนเครือข่าย VM ของผู้ทดสอบสำหรับการทดสอบการกู้คืนได้

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

การทดสอบโดยตรงและบันทึกไว้

สำหรับงานสำรวจ ให้ขับเคลื่อน VM ด้วย desktop_open_url desktop_screenshot, desktop_click, desktop_type และเดสก์ท็อปที่เกี่ยวข้อง เครื่องมือ ใช้ start_app_test, record_app_test_step และ finish_app_test เมื่อ ลำดับแบบแมนนวลนั้นควรกลายเป็นการรันที่ตรวจสอบได้

annotate_screenshot สามารถเพิ่มกล่องที่มีป้ายกำกับให้กับหลักฐานได้ คำอธิบายประกอบอธิบาย สิ่งที่ผู้ตรวจสอบควรตรวจสอบ มันไม่ได้พิสูจน์ตัวเองว่าองค์ประกอบนั้นใช้งานได้

หมายเหตุการดำเนินงาน

  • VM ของผู้ทดสอบถูกนำมาใช้ซ้ำต่อแอป/โฮสต์ ปรับขนาดพูลผู้ทดสอบสำหรับงานแบบขนาน แทนที่จะสร้างข้อมูลซ้ำตามอำเภอใจ
  • ผู้ทดสอบเริ่มต้นไม่มีดิสก์คงอยู่เพิ่มเติม ขอความพากเพียรเท่านั้น เมื่อสถานะต้องรอดจากการรีบูตและยอมรับการบูตครั้งแรกที่นานกว่า
  • การหมดเวลาของไคลเอ็นต์ไม่จำเป็นต้องยกเลิกงานแบ็กเอนด์ ตรวจสอบการวิ่ง ก่อนที่จะลองอีกครั้ง
  • เก็บรายงานไว้เป็นส่วนตัว เว้นแต่จะมีภาพหน้าจอและการวินิจฉัยรายงาน ตรวจสอบข้อมูลที่ละเอียดอ่อนแล้ว

ที่เกี่ยวข้อง