คลาส monkeyrunner ที่แสดงถึงอุปกรณ์หรือโปรแกรมจำลองที่เข้าถึงได้โดยเวิร์กสเตชันที่กำลังทำงาน
monkeyrunner
ชั้นเรียนนี้ใช้เพื่อควบคุมอุปกรณ์หรือโปรแกรมจำลอง Android เมธอดต่างๆ ที่ส่งเหตุการณ์ UI เรียกดูข้อมูล ติดตั้งและนำแอปพลิเคชันออก และเรียกใช้แอปพลิเคชัน
โดยปกติคุณไม่จำเป็นต้องสร้างอินสแตนซ์ของ MonkeyDevice
แต่คุณ
ใช้
MonkeyRunner.waitForConnection()
เพื่อสร้างออบเจ็กต์ใหม่จากการเชื่อมต่อกับอุปกรณ์หรือ
โปรแกรมจำลอง ตัวอย่างเช่น แทนที่จะแสดง
โดยใช้:
newdevice = MonkeyDevice()
ที่คุณจะใช้
newdevice = MonkeyRunner.waitForConnection()
สรุป
ค่าคงที่ | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
สตริง | ลง |
ใช้อาร์กิวเมนต์นี้กับอาร์กิวเมนต์ type ของ
press() หรือtouch()
เพื่อส่งเหตุการณ์ DOWN
|
|||||||||
สตริง | ขึ้น |
ใช้อาร์กิวเมนต์นี้กับอาร์กิวเมนต์ type ของ
press() หรือtouch()
เพื่อส่งเหตุการณ์ UP
|
|||||||||
สตริง | ลดลง |
ใช้อาร์กิวเมนต์นี้กับอาร์กิวเมนต์ type ของ
press() หรือtouch()
เพื่อส่งเหตุการณ์ DOWN แล้วตามด้วยเหตุการณ์ "ขึ้น"
|
วิธีการ | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
เผยแพร่ Intent ในอุปกรณ์เครื่องนี้ ราวกับว่า Intent มาจาก
แอปพลิเคชัน
|
||||||||||
|
จำลองท่าทางสัมผัสการลาก (แตะค้างไว้ และย้าย) บนหน้าจอของอุปกรณ์นี้
|
||||||||||
|
แสดงผลค่าสำหรับอุปกรณ์นี้ในฐานะชื่อของตัวแปรสภาพแวดล้อมระบบ
ชื่อตัวแปรที่ใช้ได้จะแสดงอยู่ในคอลัมน์
คำอธิบายโดยละเอียด ของวิธีการนี้
|
||||||||||
|
เทียบเท่ากับ API ของ
adb shell getprop <key>. This is provided for use
by platform developers.
|
||||||||||
|
ติดตั้งแอปพลิเคชัน Android หรือแพ็กเกจทดสอบที่มีในpackageFile ลงใน
อุปกรณ์ หากติดตั้งแอปพลิเคชันหรือแพ็กเกจทดสอบไว้แล้ว ระบบจะแทนที่แอปพลิเคชันดังกล่าว
|
||||||||||
|
เรียกใช้คอมโพเนนต์ที่ระบุในส่วนการใช้เครื่องมือ Android และแสดงผลลัพธ์
ในพจนานุกรมซึ่งมีรูปแบบที่แน่นอนตามที่กำหนดโดยคอมโพเนนต์ที่เรียกใช้
คอมโพเนนต์ต้องมีในอุปกรณ์เครื่องนี้แล้ว
|
||||||||||
|
ส่งเหตุการณ์สำคัญที่ระบุตามประเภทไปยังคีย์ที่ระบุโดย
รหัสคีย์
|
||||||||||
|
รีบูตอุปกรณ์นี้ใน Bootloader ที่ระบุโดย BootloadType
|
||||||||||
|
ลบแพ็กเกจที่ระบุออกจากอุปกรณ์นี้ รวมถึงข้อมูลและแคชของอุปกรณ์
|
||||||||||
|
เรียกใช้คำสั่ง Shell
adb และแสดงผลลัพธ์ (หากมี)
|
||||||||||
|
เริ่มกิจกรรมในอุปกรณ์นี้โดยการส่ง Intent ที่สร้างขึ้นจาก
อาร์กิวเมนต์ที่ระบุ
|
||||||||||
MonkeyImage
|
จับภาพบัฟเฟอร์หน้าจอทั้งหมดของอุปกรณ์นี้ โดยแสดง
ออบเจ็กต์
MonkeyImage
รายการที่มีการจับภาพหน้าจอของจอแสดงผลปัจจุบัน
|
||||||||||
|
ส่งเหตุการณ์การแตะที่ระบุตามประเภทไปยังตำแหน่งหน้าจอที่ระบุ
คูณ x และ y
|
||||||||||
|
ส่งอักขระที่อยู่ในข้อความไปยังอุปกรณ์นี้ ราวกับว่า
บนแป้นพิมพ์ของอุปกรณ์ ซึ่งเทียบเท่ากับการโทร
press() สำหรับแต่ละรหัสคีย์ใน message
โดยใช้เหตุการณ์สำคัญประเภท DOWN_AND_UP
|
||||||||||
|
ปลุกหน้าจอของอุปกรณ์นี้
|
ค่าคงที่
สตริง ลง
สตริง ขึ้น
สตริง ลง_และ_ขึ้น
วิธีการสาธารณะ
เป็นโมฆะ broadcastIntent ( URI แบบ string การดำเนินการ string สตริง string mimetype, หมวดหมู่ทำซ้ำได้ ส่วนเสริมพจนานุกรมเพิ่มเติม คอมโพเนนต์ แฟล็กที่สร้างซ้ำได้)
เผยแพร่ Intent ในอุปกรณ์เครื่องนี้ ราวกับว่า Intent มาจาก
แอปพลิเคชัน โปรดดู Intent
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ
อาร์กิวเมนต์
อาร์กิวเมนต์
URI |
URI สำหรับ Intent
(ดู Intent.setData() )
|
---|---|
การดำเนินการ |
การดำเนินการสำหรับ Intent นี้
(ดู Intent.setAction() )
|
ข้อมูล |
URI ข้อมูลสำหรับ Intent นี้
(ดู Intent.setData() )
|
ประเภท MIME |
ประเภท MIME สำหรับ Intent
(ดู Intent.setType() )
|
หมวดหมู่ |
โครงสร้างข้อมูลที่เกิดซ้ำได้ซึ่งมีสตริงซึ่งกำหนดหมวดหมู่ในกรณีนี้
ความตั้งใจ
(โปรดดู
Intent.addCategory() )
|
เพิ่มเติม |
พจนานุกรมข้อมูลเพิ่มเติมสำหรับ Intent นี้
(ดู Intent.putExtra()
เป็นต้น)
คีย์สำหรับรายการพจนานุกรมแต่ละรายการควรเป็นสตริง มูลค่าของรายการ จะเป็นประเภทข้อมูลที่มีโครงสร้างหรือเรียบง่ายก็ได้ |
คอมโพเนนต์ |
คอมโพเนนต์สำหรับ Intent นี้ (ดู ComponentName )
การใช้อาร์กิวเมนต์นี้จะกำหนดเส้นทาง Intent ไปยังคลาสที่เฉพาะเจาะจงภายใน
แพ็กเกจ Android
|
Flag |
โครงสร้างข้อมูลแบบทำซ้ำได้ซึ่งมี Flag ที่ควบคุมวิธีจัดการ Intent
(ดู Intent.setFlags() )
|
เป็นโมฆะ ลาก ( เริ่มต้น tuple สิ้นสุด tuple ระยะเวลาแบบลอย จำนวนเต็ม ขั้นตอน)
จำลองท่าทางสัมผัสการลาก (แตะค้างไว้ และย้าย) บนหน้าจอของอุปกรณ์นี้
อาร์กิวเมนต์
เริ่มต้น | จุดเริ่มต้นของท่าทางสัมผัสการลากในรูปแบบของTuple (x,y) โดยที่ x และ y เป็นจำนวนเต็ม |
---|---|
End | จุดสิ้นสุดของท่าทางสัมผัสการลากในรูปแบบของทูเปิล (x,y) โดยที่ x และ y เป็นจำนวนเต็ม |
ระยะเวลา | ระยะเวลาของท่าทางสัมผัสการลากเป็นวินาที ค่าเริ่มต้นคือ 1.0 วินาที |
จำนวนก้าว | จำนวนขั้นตอนที่ต้องทำเมื่อหาค่าจุดต่างๆ ค่าเริ่มต้นคือ 10 |
ออบเจ็กต์ getProperty (คีย์ string)
แสดงผลค่าสำหรับอุปกรณ์นี้ในฐานะชื่อของตัวแปรสภาพแวดล้อมระบบ
อาร์กิวเมนต์
คีย์ | ชื่อของตัวแปรสภาพแวดล้อมของระบบ ชื่อตัวแปรที่ใช้ได้จะแสดงใน ตาราง 1. ชื่อตัวแปรพร็อพเพอร์ตี้ในตอนท้ายของหัวข้อนี้ |
---|
คิกรีเทิร์น
- ค่าของตัวแปร รูปแบบข้อมูลจะแตกต่างกันไปตามตัวแปรที่ขอ
ออบเจ็กต์ getSystemProperty (คีย์ string)
คำพ้องความหมายของ getProperty()
อาร์กิวเมนต์
คีย์ | ชื่อของตัวแปรสภาพแวดล้อมของระบบ ชื่อตัวแปรที่ใช้ได้จะแสดงใน ตาราง 1. ชื่อตัวแปรพร็อพเพอร์ตี้ |
---|
คิกรีเทิร์น
- ค่าของตัวแปร รูปแบบข้อมูลจะแตกต่างกันไปตามตัวแปรที่ขอ
เป็นโมฆะ installPackage (เส้นทาง สตริง)
ติดตั้งแอปพลิเคชัน Android หรือแพ็กเกจทดสอบที่อยู่ในpackageFile ลงในอุปกรณ์เครื่องนี้ หากมีการติดตั้งแอปพลิเคชันหรือแพ็กเกจทดสอบไว้แล้ว ระบบจะดำเนินการ แทนที่แล้ว
อาร์กิวเมนต์
เส้นทาง |
เส้นทางและชื่อไฟล์ที่สมบูรณ์ในตัวเองของไฟล์ .apk ที่จะติดตั้ง
|
---|
พจนานุกรม เครื่องมือ ( string className, พจนานุกรม)
เรียกใช้คอมโพเนนต์ที่ระบุด้วยการใช้เครื่องมือ Android และแสดงผลลัพธ์ ในพจนานุกรมซึ่งมีรูปแบบที่แน่นอนตามที่กำหนดโดยคอมโพเนนต์ที่เรียกใช้ คอมโพเนนต์ต้องมีในอุปกรณ์เครื่องนี้แล้ว
ใช้วิธีนี้เพื่อเริ่มกรอบการทดสอบที่ใช้คลาสกรอบการทดสอบรายการใดรายการหนึ่งของ Android ดูการทดสอบ ความรู้พื้นฐานสำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบ 1 หน่วยด้วยการทดสอบ Android
อาร์กิวเมนต์
ชื่อคลาส |
ชื่อของคอมโพเนนต์ Android ที่ติดตั้งไว้ในอุปกรณ์นี้แล้วใน
ชื่อแพ็คเกจ/ชื่อคลาสของฟอร์มมาตรฐาน โดยที่ชื่อแพ็กเกจคือชื่อ
ชื่อแพ็กเกจ Android ของไฟล์ .apk ในอุปกรณ์นี้ และ
classname คือชื่อคลาสของคอมโพเนนต์ Android (Activity,
ContentProvider, Service หรือ BroadcastReceiver) ในไฟล์นั้น ทั้ง 2 อย่าง
แพ็กเกจname และ classname ต้องเป็นชื่อแบบเต็ม โปรดดู
ComponentName เพื่อดูรายละเอียดเพิ่มเติม
|
---|---|
อาร์กิวเมนต์ | พจนานุกรมที่มี Flag และค่าต่างๆ ซึ่งจะส่งต่อไปยังคอมโพเนนต์ เริ่มทำงานแล้ว หากธงไม่ใช้ค่า ให้กำหนดค่าพจนานุกรมเป็นค่าว่าง สตริง |
คิกรีเทิร์น
-
พจนานุกรมที่มีเอาต์พุตของคอมโพเนนต์ เนื้อหาของพจนานุกรม กำหนดโดยตัวคอมโพเนนต์เอง
หากคุณใช้
InstrumentationTestRunner
เป็นชื่อชั้นเรียนใน อาร์กิวเมนต์คอมโพเนนต์ชื่อ พจนานุกรมผลการค้นหาจะมี คีย์เดียว "สตรีม" ค่าของ "สตรีม" เป็นสตริงที่มี เอาต์พุตทดสอบ เสมือนว่าInstrumentationTestRunner
ถูกเรียกใช้จาก บรรทัดคำสั่ง รูปแบบของผลลัพธ์นี้มีอธิบายอยู่ใน การทดสอบใน IDE อื่นๆ
เป็นโมฆะ กด (ชื่อ สตริง, ประเภทจำนวนเต็ม)
ส่งเหตุการณ์สำคัญที่ type
ระบุไปยังคีย์ที่ระบุโดย
keycode
อาร์กิวเมนต์
ชื่อ |
ชื่อของรหัสคีย์ที่จะส่ง ดูรายการของ KeyEvent
ชื่อรหัสคีย์ ใช้ชื่อรหัสคีย์ ไม่ใช่ค่าจำนวนเต็ม
|
---|---|
ประเภท |
ประเภทของเหตุการณ์สําคัญที่จะส่ง ค่าที่อนุญาตคือ
DOWN , UP และ
DOWN_AND_UP
|
เป็นโมฆะ รีบูต (string BootloadType)
รีบูตอุปกรณ์นี้ใน Bootloader ที่ระบุโดย bootloadType
อาร์กิวเมนต์
เข้าสู่ | ประเภทของ Bootloader ที่จะรีบูต ค่าที่อนุญาตได้แก่ "bootloader" "recovery" หรือ "ไม่มี" |
---|
เป็นโมฆะ นำแพ็กเกจออก (แพ็กเกจ สตริง)
ลบแพ็กเกจที่ระบุออกจากอุปกรณ์นี้ รวมถึงข้อมูลและแคชของอุปกรณ์
อาร์กิวเมนต์
พัสดุ |
ชื่อแพ็กเกจ Android ของไฟล์ .apk ในอุปกรณ์นี้
|
---|
ออบเจ็กต์ เชลล์ (string cmd)
เรียกใช้คำสั่ง Shell adb
และแสดงผลลัพธ์ (หากมี)
อาร์กิวเมนต์
CMD |
คำสั่งที่จะดำเนินการในเชลล์ adb รูปแบบของคำสั่งเหล่านี้คือ
ที่อธิบายไว้ในหัวข้อAndroid
Debug Bridge
|
---|
คิกรีเทิร์น
- ผลลัพธ์ของคำสั่ง (หากมี) รูปแบบของผลลัพธ์จะกำหนดตาม คำสั่ง
เป็นโมฆะ startActivity ( URI แบบ string การดำเนินการ string สตริง string mimetype, หมวดหมู่ทำซ้ำได้ ส่วนเสริมพจนานุกรมเพิ่มเติม คอมโพเนนต์ แฟล็กที่สร้างซ้ำได้)
เริ่มกิจกรรมในอุปกรณ์นี้โดยการส่ง Intent ที่สร้างขึ้นจาก อาร์กิวเมนต์ที่ระบุ
อาร์กิวเมนต์
URI |
URI สำหรับ Intent
(ดู Intent.setData() )
|
---|---|
การดำเนินการ |
การดำเนินการสำหรับ Intent
(ดู Intent.setAction() )
|
ข้อมูล |
URI ข้อมูลสำหรับ Intent
(ดู Intent.setData() )
|
ประเภท MIME |
ประเภท MIME สำหรับ Intent
(ดู Intent.setType() )
|
หมวดหมู่ |
โครงสร้างข้อมูลที่สามารถทำซ้ำได้ซึ่งมีสตริงซึ่งกำหนดหมวดหมู่สำหรับ
ความตั้งใจ
(โปรดดู
Intent.addCategory() )
|
เพิ่มเติม |
พจนานุกรมข้อมูลเพิ่มเติมสำหรับ Intent
(โปรดดู
Intent.putExtra()
เป็นต้น)
คีย์สำหรับรายการพจนานุกรมแต่ละรายการควรเป็นสตริง มูลค่าของรายการ จะเป็นประเภทข้อมูลที่มีโครงสร้างหรือเรียบง่ายก็ได้ |
คอมโพเนนต์ |
คอมโพเนนต์สำหรับ Intent
(ดู ComponentName ) การใช้อาร์กิวเมนต์นี้จะกำหนดเส้นทาง
Intent ไปยังคลาสที่เฉพาะเจาะจงภายในแพ็กเกจ Android ที่เฉพาะเจาะจง
|
Flag |
โครงสร้างข้อมูลแบบทำซ้ำได้ซึ่งมี Flag ที่ควบคุมวิธีจัดการ Intent
(ดู Intent.setFlags() )
|
วันที่
MonkeyImage
TakeSnapshot
()
จับภาพบัฟเฟอร์หน้าจอทั้งหมดของอุปกรณ์นี้ โดยแสดง ภาพหน้าจอที่แสดง หน้าจอปัจจุบัน
คิกรีเทิร์น
- ออบเจ็กต์ MonkeyImage ที่มีรูปภาพของหน้าจอปัจจุบัน
เป็นโมฆะ การแตะ ( จำนวนเต็ม x, จำนวนเต็ม y, ประเภทสตริง)
ส่งเหตุการณ์การแตะที่ระบุตามประเภทไปยังตำแหน่งหน้าจอที่ระบุ คูณ x และ y
อาร์กิวเมนต์
x | ตำแหน่งแนวนอนของการแตะในพิกเซลของอุปกรณ์จริง โดยเริ่มจากด้านซ้ายของ หน้าจอตามการวางแนวในปัจจุบัน |
---|---|
y | ตำแหน่งแนวตั้งของการสัมผัสในพิกเซลจริงของอุปกรณ์ โดยเริ่มจากด้านบนของ หน้าจอตามการวางแนวในปัจจุบัน |
ประเภท |
ประเภทของเหตุการณ์สําคัญที่จะส่ง ค่าที่อนุญาตคือ
DOWN , UP และ
DOWN_AND_UP
|
เป็นโมฆะ ประเภท (ข้อความ สตริง)
ส่งอักขระที่อยู่ในข้อความไปยังอุปกรณ์นี้ ราวกับว่า
บนแป้นพิมพ์ของอุปกรณ์ ซึ่งเทียบเท่ากับการโทร
press()
สำหรับแต่ละรหัสคีย์ใน message
โดยใช้เหตุการณ์สำคัญประเภท DOWN_AND_UP
อาร์กิวเมนต์
ข้อความ | สตริงที่มีอักขระที่จะส่ง |
---|
เป็นโมฆะ ปลุกระบบ ()
ปลุกหน้าจอของอุปกรณ์นี้
ภาคผนวก
กลุ่มสถานที่ | พร็อพเพอร์ตี้ | คำอธิบาย | หมายเหตุ |
---|---|---|---|
build |
board |
ชื่อรหัสสำหรับบอร์ดระบบของอุปกรณ์ |
ดู Build
|
brand |
ผู้ให้บริการขนส่งหรือผู้ให้บริการที่ปรับแต่งระบบปฏิบัติการ | ||
device |
ชื่อการออกแบบอุปกรณ์ | ||
fingerprint |
ตัวระบุที่ไม่ซ้ำกันสำหรับบิลด์ที่กำลังทำงานอยู่ในปัจจุบัน | ||
host |
|||
ID |
หมายเลขหรือป้ายกำกับรายการการเปลี่ยนแปลง | ||
model |
ชื่อที่ผู้ใช้ปลายทางมองเห็นได้สำหรับอุปกรณ์ | ||
product |
ชื่อผลิตภัณฑ์โดยรวม | ||
tags |
แท็กที่คั่นด้วยเครื่องหมายจุลภาคที่อธิบายบิลด์ เช่น "ไม่ลงนาม" และ "debug" | ||
type |
ประเภทบิลด์ เช่น "ผู้ใช้" หรือ "eng" | ||
user |
|||
CPU_ABI |
ชื่อชุดคำสั่งสำหรับโค้ดแบบเนทีฟในรูปแบบ CPU รูปแบบบวก ABI Convention | ||
manufacturer |
ผู้ผลิตผลิตภัณฑ์/ฮาร์ดแวร์ | ||
version.incremental |
โค้ดภายในที่ใช้โดยระบบควบคุมแหล่งที่มาเพื่อแสดงเวอร์ชันนี้ ของซอฟต์แวร์ | ||
version.release |
ชื่อที่ผู้ใช้มองเห็นของซอฟต์แวร์เวอร์ชันนี้ | ||
version.sdk |
เวอร์ชัน SDK ที่ผู้ใช้มองเห็นได้ซึ่งเชื่อมโยงกับระบบปฏิบัติการเวอร์ชันนี้ | ||
version.codename |
ชื่อรหัสสำหรับการพัฒนาในปัจจุบัน หรือ "REL" หากซอฟต์แวร์เวอร์ชันนี้ เผยแพร่แล้ว | ||
display |
width |
ความกว้างในการแสดงของอุปกรณ์ในหน่วยพิกเซล |
โปรดดู
DisplayMetrics เพื่อดูรายละเอียด
|
height |
ความสูงที่แสดงของอุปกรณ์ในหน่วยพิกเซล | ||
density |
ความหนาแน่นเชิงตรรกะของการแสดงผล นี่เป็นปัจจัยที่ปรับขนาด
DIP (ความหนาแน่นของพิกเซลอิสระ) ตามความละเอียดของอุปกรณ์ DIP ได้รับการปรับให้
ว่า 1 DIP จะเท่ากับ 1 พิกเซลบนจอแสดงผล 160 พิกเซลต่อนิ้ว ตัวอย่างเช่น
บนหน้าจอ 160 dpi ความหนาแน่น = 1.0 ขณะที่บนหน้าจอ 120 dpi ความหนาแน่น = .75
ค่าไม่เป็นไปตามขนาดหน้าจอจริงทุกประการ แต่ปรับเป็น
สอดคล้องกับการเปลี่ยนแปลงครั้งใหญ่ใน DPI จอแสดงผล โปรดดู
|
||
am.current |
package |
ชื่อแพ็กเกจ Android ของแพ็กเกจที่กำลังใช้งาน |
คีย์ am.current จะแสดงข้อมูลเกี่ยวกับคีย์ที่กำลังทำงาน
กิจกรรม
|
action |
การทำงานของกิจกรรมปัจจุบัน มีรูปแบบเดียวกับ name
ขององค์ประกอบ action ในไฟล์ Manifest ของแพ็กเกจ
|
||
comp.class |
ชื่อคลาสของคอมโพเนนต์ที่เริ่มกิจกรรมปัจจุบัน โปรดดู
comp.package เพื่อดูรายละเอียดเพิ่มเติม |
||
comp.package |
ชื่อแพ็กเกจของคอมโพเนนต์ที่เริ่มกิจกรรมปัจจุบัน คอมโพเนนต์ จะระบุโดยชื่อแพ็กเกจและชื่อคลาสที่อยู่ในแพ็กเกจ | ||
data |
ข้อมูล (หากมี) ที่อยู่ใน Intent ที่เริ่มต้นกิจกรรมปัจจุบัน | ||
categories |
หมวดหมู่ที่ระบุโดย Intent ที่เริ่มต้นกิจกรรมปัจจุบัน | ||
clock |
realtime |
จำนวนมิลลิวินาทีนับตั้งแต่รีบูตอุปกรณ์ รวมถึงหลับลึก |
ดูข้อมูลเพิ่มเติมได้ที่ SystemClock
|
uptime |
จำนวนมิลลิวินาทีนับตั้งแต่รีบูตอุปกรณ์ ไม่รวมถึง เวลาหลับลึก | ||
millis |
เวลาปัจจุบันตั้งแต่ UNIX Epoch ในหน่วยมิลลิวินาที |