บทช่วยสอนเครื่องมือทดสอบ Calabash สำหรับ Android

น้ำเต้าคืออะไร?

Calabash คือการยอมรับแบบโอเพ่นซอร์ส การทดสอบ เฟรมเวิร์กที่ให้คุณเขียนและดำเนินการทดสอบสำหรับ iOS และ Android ปพลิเคชัน

เป็น Framework ส่วนต่อประสานผู้ใช้อัตโนมัติที่อนุญาตให้เขียนการทดสอบด้วย Ruby โดยใช้ Cucumber.

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

ทำไมต้อง Calabash Automation?

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

น้ำเต้าและ BDD

  • น้ำเต้าก็คือ การพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม (BDD)- มันเหมือนกับ Test Driven Development (TDD) แต่แทนที่จะสร้างการทดสอบเพื่ออธิบายรูปร่างของ API กลับมีการระบุพฤติกรรมของแอปพลิเคชันแทน
  • BDD เป็นกระบวนการที่ผู้มีส่วนได้ส่วนเสียหลายรายชั่งน้ำหนักเพื่อสร้างความเข้าใจร่วมกันเกี่ยวกับสิ่งที่จะต้องสร้างขึ้น
  • BDD มีประโยชน์ในการสร้างซอฟต์แวร์ที่เหมาะสมและการออกแบบจากมุมมองของเจ้าของธุรกิจ

น้ำเต้าและ BDD

วิธีการติดตั้ง Calabash.mq4

ส่วนที่ 1) การติดตั้ง Java JDK – อ้างอิงถึงคู่มือนี้ – /install-java.html

ตอนที่ II) ดาวน์โหลดและติดตั้ง Ruby

ขั้นตอน 1) ดาวน์โหลด Ruby จาก URL http://rubyinstaller.org/downloads

ติดตั้งน้ำเต้า

ขั้นตอน 2) เปิดไฟล์ exe ทำตามคำแนะนำบนหน้าจอ เมื่อติดตั้งเสร็จเรียบร้อยแล้ว คุณจะเห็นหน้าจอต่อไปนี้ คลิกเสร็จสิ้น

ติดตั้งน้ำเต้า

เริ่มพร้อมท์คำสั่งโดยเปิด Ruby Windows 10 & พิมพ์ด้านล่าง Command

ruby –v

ติดตั้งน้ำเต้า

ส่วนที่ III) ดาวน์โหลดและติดตั้ง Android

ขั้นตอน 1) ดาวน์โหลด Android สตูดิโอที่ https://developer.android.com/studio

ติดตั้งน้ำเต้า

ขั้นตอน 2) เปิด exe ทำตามคำแนะนำบนหน้าจอและติดตั้งให้เสร็จสิ้น คลิกปุ่มเสร็จสิ้นเมื่อเสร็จแล้ว

ติดตั้งน้ำเต้า

ส่วนที่ IV) ติดตั้ง Calabash Android

ขั้นตอน 1) ในประเภทคอนโซล ติดตั้ง calabash-android การติดตั้งจะเริ่มขึ้นและจะใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์

ติดตั้งน้ำเต้า

ขั้นตอน 2) เมื่อติดตั้งเสร็จแล้วให้พิมพ์ เวอร์ชัน Calabash-Android

ติดตั้งน้ำเต้า

ทำงานกับน้ำเต้า

เปิดโฟลเดอร์ “calabash-android-0.9.0” ซึ่งอยู่ในเส้นทาง C:\Ruby23\lib\ruby\gems\2.3.0\gems\calabash-android-0.9.0 ชื่อโฟลเดอร์จะเปลี่ยนแปลงตามเวอร์ชัน ruby/calabash ที่คุณติดตั้งบนเครื่องของคุณ

เปิดโฟลเดอร์โครงกระดูกคุณลักษณะ มองหากรอบพื้นฐานนี้

การทำงานกับน้ำเต้า

  • ไฟล์ *.feature มีสถานการณ์ที่เราจะทำให้เป็นอัตโนมัติ
  • วิธีการที่ใช้โดยไฟล์ฟีเจอร์นั้นเขียนเป็นไฟล์ *.rb ภายในโฟลเดอร์ “step_definitions”
  • วิธีการทั่วไป การตั้งค่าสภาพแวดล้อม การติดตั้งแอป และ hooks ควรอยู่ในโฟลเดอร์ “support”

ลาออกและสร้างแอป

  • Calabash-android ลาออก *.apk
  • Calabash-android สร้าง *.apk

ลาออกและสร้างแอป

เชื่อมต่ออุปกรณ์เข้ากับระบบ /เปิดตัวจำลอง

ตรวจสอบอุปกรณ์ที่แนบมา พิมพ์คำสั่ง

adb devices

ควรจะแสดงรายการอุปกรณ์ที่แนบมา

เชื่อมต่ออุปกรณ์เข้ากับระบบ / เปิดโปรแกรมจำลอง

วิธีค้นหาตัวระบุตำแหน่งองค์ประกอบ

  • เปิดคอนโซล พิมพ์คำสั่ง
    calabash android console "APK Path"
    start_test_server_in_background
  • คำสั่งด้านบนให้เปิดแอปบนอุปกรณ์ หากต้องการค้นหาตัวระบุองค์ประกอบ ให้ใช้คำสั่งต่อไปนี้
    query "*"

    ค้นหาตัวระบุตำแหน่งองค์ประกอบ

นี่จะแสดงตัวระบุตำแหน่งองค์ประกอบทั้งหมดบนหน้าจอปัจจุบัน

การสร้างสคริปต์ใหม่

เปิดไฟล์ฟีเจอร์และบรรทัดต่อไปนี้

การสร้างสคริปต์ใหม่

Feature: Login feature
  Scenario: As a valid user I can log into my app
    When I press "Login"
    And I enter my username 
    And I enter my password
    Then I see "Welcome to coolest app ever"

เปิดไฟล์ Step Definition และกำหนดวิธีการลงในไฟล์ *.rb

การสร้างสคริปต์ใหม่

Given /^I am on the login windows$/ do
   wait_for(:timeout =>100) { element_exists("* id:'loginInput;")}
   check_element_exists("* id:'loginInput;")
end

ดำเนินโครงการทดสอบ

หากต้องการดำเนินโครงการทดสอบให้ใช้คำสั่งด้านล่าง

calabash-android run "APK Path" "feature file Path" – tags "tag name"

ดำเนินโครงการทดสอบ

ดำเนินโครงการทดสอบ

สรุป

  • Calabash เป็นเฟรมเวิร์กโอเพ่นซอร์สใหม่ ซึ่งช่วยให้ทำงานอัตโนมัติและทดสอบ iOS หรือ Android app
  • หากต้องการทำงานกับ Calabash การทดสอบควรเขียนด้วยภาษา Ruby โดยใช้ Cucumber.
  • ใช้แนวคิดการพัฒนาพฤติกรรมขับเคลื่อน (BDD)
  • มันทำให้โค้ดเป็นอัตโนมัติโดยแบ่งงานออกเป็น 4 ชั้น ดังต่อไปนี้
  • ชั้นแรก
  • ชั้นธุรกิจ
  • ชั้นเทคโนโลยี
  • ชั้นสุดท้าย

สรุปโพสต์นี้ด้วย: