RobotFramework-Zoomba เป็นชุดของห้องสมุดที่ประกอบไปด้วย GUI, REST API และ SOAP API Automation โดยใช้ Framework Robot ห้องสมุดเหล่านี้เป็นส่วนขยายของห้องสมุดที่มีอยู่ Seleniumlibrary คำขอและ Sudslibrary
Zoomba เพิ่มการสนับสนุนการตรวจสอบข้อมูลจำนวนมากสำหรับ REST และ SOAP API และขยายฟังก์ชันการทำงานสำหรับระบบอัตโนมัติ Web GUI ทั่วไป
ในฐานะทีมที่เริ่มต้นการเดินทางของระบบอัตโนมัติด้วยกรอบหุ่นยนต์ - เราพบว่ามีเวลาที่ใช้เวลาในการเพิ่มห้องสมุดของเราและหุ่นยนต์เฟรมเวิร์ก - ซูมเบ้ามีจุดมุ่งหมายเพื่อให้กระบวนการนั้นง่ายขึ้นสำหรับโครงการใหม่
ดู เอกสารคำหลัก สำหรับไลบรารี API, SOAP หรือ GUI สำหรับข้อมูลเฉพาะเพิ่มเติมเกี่ยวกับฟังก์ชันการทำงาน
ตัวอย่างการทดสอบสามารถพบได้ในไดเรกทอรีตัวอย่าง
เมื่อทำงานกับหน้าเว็บของการโหลดที่แตกต่างกันคุณอาจพบว่าตัวเองเรียกใช้สายจำนวนมากเช่นนั้น:
Wait Until Page Contains Element locator
Click Element locator
เพื่อความสะดวกในการใช้
Wait For And Click Element locator
Wait For And Click Text text
Wait For And Select From List list_locator target_locator
คำหลักอีกคำที่มีประโยชน์อย่างยิ่งคือเมื่อคุณกำลังรอให้ JavaScript เสร็จสมบูรณ์ในหน้าก่อนดำเนินการ:
Wait For And Click Element locator that leads to a new page with javascript
Wait Until Javascript Is Complete
Wait For And Click Element locator
ไลบรารีนี้ห่อไลบรารีคำขอดังนั้นเราจึงได้สร้างชุดคำหลักเพื่อให้ผู้ใช้สามารถทำการร้องขอได้อย่างง่ายดายในคำหลักเดียว:
Call Get Request ${ headers_dictionary } endpoint query_string
Call Post Request ${ headers_dictionary } endpoint query_string ${ data_payload }
หลังจากได้รับข้อมูลของคุณเราทำให้มันง่ายอย่างไม่น่าเชื่อที่จะตรวจสอบมัน การตรวจสอบการตอบสนองมีการตอบสนองที่คาดหวังจะใช้คำขอที่คุณได้รับและเปรียบเทียบกับข้อมูลที่คุณคาดหวัง หากมีข้อผิดพลาดใด ๆ พบว่าจะรายงานทีละบรรทัดว่าพวกเขาคืออะไร
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response }
หากมีข้อมูลที่ไม่ตรงกันมันจะมีลักษณะเช่นนี้:
Key(s) Did Not Match:
------------------
Key: pear
Expected: fish
Actual: bird
------------------
Full List Breakdown:
Expected: [{'apple': 'cat', 'banana': 'dog', 'pear': 'fish'}, {'apple': 'cat', 'banana': 'mice', 'pear': 'bird'}, {'apple': 'dog', 'banana': 'mice', 'pear': 'cat'}]
Actual: [{'apple': 'cat', 'banana': 'dog', 'pear': 'bird'}]
Please see differing value(s)
หากคุณต้องการเพิกเฉยต่อคีย์เช่น 'update_date' คุณจะตั้งค่าตัวแปร 'enterved_keys' เป็นคีย์นั้นหรือรายการคีย์:
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys=update_date
Validate Response Contains Expected Response ${ json_actual_response } ${ json_expected_response } ignored_keys= ${ list_of_keys }
ไลบรารี Zoomba ติดตั้งได้อย่างง่ายดายโดยใช้ไฟล์ setup.py
ในโฮมไดเร็กตอรี่ เพียงเรียกใช้คำสั่งต่อไปนี้เพื่อติดตั้ง Zoomba และการพึ่งพา:
pip install robotframework - zoomba
หากคุณตัดสินใจที่จะดึง repo ในพื้นที่เพื่อบริจาคหรือเพียงแค่ต้องการเล่นกับรหัสที่คุณสามารถติดตั้ง Zoomba โดยเรียกใช้ต่อไปนี้จาก ไดเรกทอรีราก :
pip install .
หรือถ้าคุณตั้งใจจะเรียกใช้การทดสอบหน่วย:
pip install .[ testing ]
ในการเข้าถึงคำหลักในไลบรารีเพียงเพิ่มสิ่งต่อไปนี้ในการตั้งค่าไฟล์หุ่นยนต์ของคุณ (ขึ้นอยู่กับสิ่งที่คุณต้องการ):
** * Settings ** *
Library Zoomba . APILibrary
Library Zoomba . GUILibrary
Library Zoomba . SOAPLibrary
ตัวอย่างการทดสอบสามารถพบได้ในไดเรกทอรีตัวอย่าง
ไดเรกทอรีทดสอบอาจมีการทดสอบ แต่โปรดทราบว่าสิ่งเหล่านี้ใช้สำหรับการทดสอบรีลีสและอาจไม่ตรงไปตรงมาที่จะใช้เป็นแบบที่อยู่ในไดเรกทอรีตัวอย่าง
เพื่อให้มีส่วนร่วมโปรดดูแนวทางการสนับสนุน
ดูไดเรกทอรี. githooks สำหรับสคริปต์เพื่อช่วยในการพัฒนา
คำถามกรอบหุ่นยนต์ทั่วไปควรถูกนำไปยังฟอรัมชุมชน
สำหรับคำถามและปัญหาเฉพาะกับ Zoomba โปรดสร้างปัญหาที่นี่ใน GitHub