ฟังก์ชั่นแปลก ๆ ใน ActivityManager: isUserAMonkey สิ่งนี้หมายความว่าอะไรการใช้งานของมันคืออะไร?


144

android.app.ActivityManagerผมพบว่าฟังก์ชั่นดังต่อไปนี้ในแพคเกจ

public static boolean isUserAMonkey ()

การอ้างอิงอธิบาย:

public static boolean isUserAMonkey () ตั้งแต่: API ระดับ 8

ส่งคืน "true" หากลิงส่วนติดต่อผู้ใช้ถูก messed ด้วย

ฉันรู้สึกตกใจกับฟังก์ชั่นที่แปลกประหลาดนี้ และมีคำถามสองสามข้อ

  • สิ่งนี้ (ส่วนต่อประสานผู้ใช้กำลังยุ่งกับลิง) หมายความว่าอย่างไร

  • การใช้ฟังก์ชั่นนี้ในทางปฏิบัติคืออะไร?

  • ทำไมพวกเขาใช้isUserAMonkeyชื่อฟังก์ชั่น?


ไม่มีเอกสารที่เหมาะสม ถ้าอย่างนั้นเราจะใช้ฟังก์ชั่นนี้ได้อย่างไร พวกเขาควรตรวจสอบเอกสารของพวกเขา
Mahendran

ตามคำตอบของ HefferWolf วิธีนี้ใช้สำหรับการทดสอบอัตโนมัติของ android framework (ฉันคิดว่า) ดังนั้นเราจึงไม่จำเป็นต้องใช้ฟังก์ชั่นนี้เลย .. ดังนั้นจึงไม่จำเป็นต้องใช้เอกสารของ PROPER
gtiwari333

10
ทำให้ลิงตกใจ
Jeff Axelrod

ฉันดูเหมือนโค้ดทดสอบที่รั่วไหลลงในไลบรารีการผลิตในกรณีนี้คือ ActivityManager การมีรหัสการผลิตของคุณมีความรู้ว่ากำลังทดสอบอยู่หรือไม่และคาดว่าจะเป็นการกระทำในลักษณะใด ๆ ก็ตามโดยที่ความรู้นั้นทำงานกับจุดทดสอบทั้งหมดซึ่งนำไปสู่ ​​Hisenbugs ได้อย่างง่ายดาย นอกจากนี้ยังเพิ่ม cruft ให้กับ API ทำให้เข้าใจและบำรุงรักษาได้ยากขึ้น ความจริงที่ว่าคำถาม SO นี้ยังมีอยู่ก็มีหลักฐานเพียงพอ
เมลินดากรีน

ฉันหัวเราะเมื่อฉันเห็นวิธีนี้
Marcos Vasconcelos

คำตอบ:


93

วิธีนี้เป็นวิธีการตรวจสอบว่าผู้ใช้ปัจจุบันเป็นผู้ใช้ทดสอบโดยการทดสอบอัตโนมัติบางอย่างที่เรียกว่า 'ลิง' โดย Android devs


17
เผง มันคุ้มค่าที่จะเห็นหน้านี้: developer.android.com/guide/developing/tools/monkey.html
Kibi

33

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

เพียงอ้างอิงลิงค์เหล่านี้ด้วย:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.