UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

java.lang.Object
   ↳ com.android.tradefed.testtype.UiAutomatorRunner


เรียกใช้การทดสอบ UI Automator ในอุปกรณ์และรายงานผลลัพธ์ การทดสอบ UI Automator คือตัวเรียกใช้การทดสอบเฉพาะสำหรับการเรียกใช้การทดสอบการทำงานอัตโนมัติของ UI ที่ใช้เฟรมเวิร์ก UI Automator โปรแกรมเรียกใช้การทดสอบในอุปกรณ์จะจำลองรูปแบบเอาต์พุตการทดสอบเครื่องมือวัด เพื่อให้สามารถนำโค้ดการแยกวิเคราะห์ที่มีอยู่ใน ddmlib และ TF กลับมาใช้ซ้ำได้ โดยพื้นฐานแล้ว นี่คือ Wrapper รอบคำสั่งต่อไปนี้ adb shell uiautomator runtest (jar files) -e class (test classes) ...

สรุป

เครื่องมือสร้างสาธารณะ

UiAutomatorRunner(IDevice remoteDevice, String[] jarPaths, String runnerPath)

สร้าง UiAutomatorRunner เพื่อเรียกใช้การทดสอบการทำงานอัตโนมัติของ UI

เมธอดสาธารณะ

void addBooleanArg(String name, boolean value)

เพิ่มอาร์กิวเมนต์บูลีนที่จะรวมไว้ในคำสั่งการวัดคุม

void addInstrumentationArg(String name, String value)

เพิ่มอาร์กิวเมนต์ที่จะรวมไว้ในคำสั่งการวัดคุม

void cancel()

ขอให้ยกเลิกการทดสอบนี้

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType()

แสดงผลประเภทความครอบคลุมของการทดสอบที่โปรแกรมเรียกใช้สร้างขึ้น

String getPackageName()

แสดงผลชื่อแพ็กเกจของคลาส Java สุดท้ายที่เพิ่ม

String getRunnerName()

แสดงผลชื่อคลาส UiAutomatorTestRunner เริ่มต้น

void removeInstrumentationArg(String name)

นำอาร์กิวเมนต์ที่เพิ่มไว้ก่อนหน้านี้ออก

void run(ITestRunListener... listeners)

เรียกใช้การทดสอบนี้

void run(Collection<ITestRunListener> listeners)

เรียกใช้การทดสอบนี้

void setAdditionalTestOutputLocation(String additionalTestDataPath)

กำหนดตำแหน่งของเอาต์พุตการทดสอบเพิ่มเติมที่จะคัดลอกไปยังโฮสต์ก่อนที่จะถอนการติดตั้งแอปทดสอบ

void setClassName(String className)

ตั้งค่าให้เรียกใช้เฉพาะการทดสอบในคลาสนี้ ต้องเรียกใช้ก่อน "run"

void setClassNames(String[] classNames)

ตั้งค่าให้เรียกใช้เฉพาะการทดสอบในคลาสที่ระบุ ต้องเรียกใช้ก่อน "run"

void setCoverage(boolean coverage)

ตั้งค่าโหมดการครอบคลุมของโค้ดของการทดสอบนี้

void setCoverageReportLocation(String arg0)

กำหนดตำแหน่งของรายงานความครอบคลุมที่สร้างขึ้น

void setDebug(boolean debug)

ตั้งค่าโหมดแก้ไขข้อบกพร่องของการทดสอบนี้

void setIgnoreSighup(boolean value)

ตั้งค่าตัวเลือกใน uiautomator เพื่อไม่สนใจ SIGHUP

void setLogOnly(boolean logOnly)

ตั้งค่าการทดสอบนี้เป็นโหมดบันทึกเท่านั้น ซึ่งจะข้ามการดำเนินการทดสอบ

void setMaxTimeToOutputResponse(long timeout, TimeUnit unit)

กำหนดเวลาสูงสุดที่อนุญาตระหว่างเอาต์พุตของคำสั่งเชลล์ที่เรียกใช้การทดสอบในอุปกรณ์

void setMaxTimeout(long maxTimeout, TimeUnit unit)

กำหนดเวลาสูงสุดที่อนุญาตให้การวัดผลเสร็จสิ้น

void setMaxtimeToOutputResponse(int maxTimeToOutputResponse)

เลิกใช้เมธอดนี้แล้ว โปรดใช้ setMaxTimeToOutputResponse(long,TimeUnit) แทน

void setMethodName(String className, String testName)

ตั้งค่าให้เรียกใช้เฉพาะเมธอดการทดสอบที่ระบุ ต้องเรียกใช้ก่อน "run"

void setRunName(String runName)

ตั้งชื่อการเรียกใช้ที่กำหนดเองเพื่อรายงานไปยัง ITestRunListener ในวันที่ run(ITestRunListener)

หากไม่ระบุ ระบบจะใช้ชื่อแพ็กเกจ

void setTestCollection(boolean b)

ตั้งค่าการทดสอบนี้เป็นโหมดการรวบรวมการทดสอบ

void setTestPackageName(String packageName)

ตั้งค่าให้เรียกใช้การทดสอบทั้งหมดในแพ็กเกจที่ระบุ ต้องเรียกใช้ก่อน "run"

void setTestSize(IRemoteAndroidTestRunner.TestSize size)

ตั้งค่าให้เรียกใช้เฉพาะการทดสอบที่มีขนาดที่ระบุ

วิธีการที่ได้รับการป้องกัน

String getRunCommand()
String getRunnerPath()

เครื่องมือสร้างสาธารณะ

UiAutomatorRunner

public UiAutomatorRunner (IDevice remoteDevice, 
                String[] jarPaths, 
                String runnerPath)

สร้าง UiAutomatorRunner เพื่อเรียกใช้การทดสอบการทำงานอัตโนมัติของ UI

พารามิเตอร์
remoteDevice IDevice: อุปกรณ์ระยะไกลที่จะโต้ตอบด้วย เช่น เรียกใช้การทดสอบ รวบรวมผลลัพธ์ เป็นต้น

jarPaths String: เส้นทางไปยังไฟล์ JAR ที่มีกรณีทดสอบ UI Automator เส้นทางต้องเป็นแบบสัมบูรณ์หรือสัมพันธ์กับ /data/local/tmp/ ในอุปกรณ์

runnerPath String: ตัวเรียกใช้ uiautomator ทางเลือกที่จะใช้ อาจเป็น null และจะใช้ค่าเริ่มต้นในกรณีนี้

เมธอดสาธารณะ

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

เพิ่มอาร์กิวเมนต์บูลีนที่จะรวมไว้ในคำสั่งการวัดคุม

พารามิเตอร์
name String: ชื่อของอาร์กิวเมนต์แพ็กเกจการวัดคุม

value boolean: ค่าของอาร์กิวเมนต์

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

เพิ่มอาร์กิวเมนต์ที่จะรวมไว้ในคำสั่งการวัดคุม

ต้องเรียกใช้ก่อน 'run' หากมีการระบุอาร์กิวเมนต์ที่มีชื่อที่กำหนดแล้ว ระบบจะลบล้างค่าของอาร์กิวเมนต์นั้น

พารามิเตอร์
name String: ชื่อของอาร์กิวเมนต์แพ็กเกจการวัดคุม

value String: ค่าของอาร์กิวเมนต์

ยกเลิก

public void cancel ()

ขอให้ยกเลิกการทดสอบนี้

getCoverageOutputType

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

แสดงผลประเภทความครอบคลุมของการทดสอบที่โปรแกรมเรียกใช้สร้างขึ้น โปรดอ่านCoverageOutput

การคืนสินค้า
IRemoteAndroidTestRunner.CoverageOutput

getPackageName

public String getPackageName ()

แสดงผลชื่อแพ็กเกจของคลาส Java สุดท้ายที่เพิ่ม

การคืนสินค้า
String

getRunnerName

public String getRunnerName ()

แสดงผลชื่อคลาส UiAutomatorTestRunner เริ่มต้น

การคืนสินค้า
String

removeInstrumentationArg

public void removeInstrumentationArg (String name)

นำอาร์กิวเมนต์ที่เพิ่มไว้ก่อนหน้านี้ออก

พารามิเตอร์
name String: ชื่อของอาร์กิวเมนต์แพ็กเกจการวัดคุมที่จะนำออก

โฮมรัน

public void run (ITestRunListener... listeners)

เรียกใช้การทดสอบนี้

เมธอดความสะดวกสำหรับ run(Collection)

พารามิเตอร์
listeners ITestRunListener: รอผลการทดสอบ

ส่ง
AdbCommandRejectedException
IOException
ShellCommandUnresponsiveException
TimeoutException

โฮมรัน

public void run (Collection<ITestRunListener> listeners)

เรียกใช้การทดสอบนี้

พารามิเตอร์
listeners Collection: คอลเล็กชันของ Listener สำหรับผลการทดสอบ

ส่ง
AdbCommandRejectedException
IOException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

กำหนดตำแหน่งของเอาต์พุตการทดสอบเพิ่มเติมที่จะคัดลอกไปยังโฮสต์ก่อนที่จะถอนการติดตั้งแอปทดสอบ เช่น รายงานการเปรียบเทียบที่สร้างขึ้น

พารามิเตอร์
additionalTestDataPath String

setClassName

public void setClassName (String className)

ตั้งค่าให้เรียกใช้เฉพาะการทดสอบในคลาสนี้ ต้องเรียกใช้ก่อน "run"

พารามิเตอร์
className String: ชื่อคลาสที่สมบูรณ์ (เช่น x.y.z)

setClassNames

public void setClassNames (String[] classNames)

ตั้งค่าให้เรียกใช้เฉพาะการทดสอบในคลาสที่ระบุ ต้องเรียกใช้ก่อน "run"

หากระบุคลาสมากกว่า 1 คลาส จะต้องมี InstrumentationTestRunner ที่รองรับไวยากรณ์อาร์กิวเมนต์ของคลาสหลายรายการ

พารามิเตอร์
classNames String: อาร์เรย์ของชื่อคลาสที่สมบูรณ์ (เช่น x.y.z)

setCoverage

public void setCoverage (boolean coverage)

ตั้งค่าโหมดการครอบคลุมของโค้ดของการทดสอบนี้

พารามิเตอร์
coverage boolean

setCoverageReportLocation

public void setCoverageReportLocation (String arg0)

กำหนดตำแหน่งของรายงานความครอบคลุมที่สร้างขึ้น

พารามิเตอร์
arg0 String

setDebug

public void setDebug (boolean debug)

ตั้งค่าโหมดแก้ไขข้อบกพร่องของการทดสอบนี้ หากเป็นจริง โปรแกรมเรียกใช้การทดสอบ Android จะรอให้โปรแกรมแก้ไขข้อบกพร่องแนบข้อมูลก่อนดำเนินการทดสอบต่อ

พารามิเตอร์
debug boolean

setIgnoreSighup

public void setIgnoreSighup (boolean value)

ตั้งค่าตัวเลือกใน uiautomator เพื่อไม่สนใจ SIGHUP

พารามิเตอร์
value boolean: ละเว้นสัญญาณหากตั้งค่าเป็น "จริง"

setLogOnly

public void setLogOnly (boolean logOnly)

ตั้งค่าการทดสอบนี้เป็นโหมดบันทึกเท่านั้น ซึ่งจะข้ามการดำเนินการทดสอบ

พารามิเตอร์
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

กำหนดเวลาสูงสุดที่อนุญาตระหว่างเอาต์พุตของคำสั่งเชลล์ที่เรียกใช้การทดสอบในอุปกรณ์

ซึ่งจะช่วยให้ตั้งค่าการหมดเวลาได้ในกรณีที่การทดสอบค้างและไม่เสร็จสิ้น ซึ่งแตกต่างจาก การหมดเวลาปกติในการเชื่อมต่อ

โดยค่าเริ่มต้น จะไม่มีการระบุการหมดเวลา

พารามิเตอร์
timeout long: ระยะเวลาสูงสุดที่อนุญาตให้คำสั่งไม่ต้องแสดงเอาต์พุตใดๆ ค่า 0 หมายความว่าเมธอดจะรอเอาต์พุตจากคำสั่งไปเรื่อยๆ (จนกว่า receiver จะยกเลิกการดำเนินการ) และจะไม่ส่งข้อผิดพลาด

unit TimeUnit: หน่วยสำหรับค่า maxTimeToOutputResponse และ maxTimeout ที่ไม่ใช่ 0

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

กำหนดเวลาสูงสุดที่อนุญาตให้การวัดผลเสร็จสิ้น

ซึ่งจะช่วยให้ตั้งค่าการหมดเวลาได้ในกรณีที่การทดสอบค้างและไม่เสร็จสิ้น ซึ่งแตกต่างจาก การหมดเวลาปกติในการเชื่อมต่อ

โดยค่าเริ่มต้น จะไม่มีการระบุการหมดเวลา

พารามิเตอร์
maxTimeout long: ระยะเวลาสูงสุดที่อนุญาตให้คำสั่งไม่ต้อง แสดงผลการตอบกลับใดๆ ค่า 0 หมายความว่าเมธอดจะรอเอาต์พุตจากคำสั่งไปเรื่อยๆ (จนกว่า receiver จะยกเลิกการดำเนินการ) และจะไม่ส่งข้อผิดพลาด

unit TimeUnit: หน่วยสำหรับค่า maxTimeToOutputResponse และ maxTimeout ที่ไม่ใช่ 0

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

เลิกใช้เมธอดนี้แล้ว
โปรดใช้ setMaxTimeToOutputResponse(long,TimeUnit) แทน

พารามิเตอร์
maxTimeToOutputResponse int

setMethodName

public void setMethodName (String className, 
                String testName)

ตั้งค่าให้เรียกใช้เฉพาะเมธอดการทดสอบที่ระบุ ต้องเรียกใช้ก่อน "run"

พารามิเตอร์
className String: ชื่อคลาสที่สมบูรณ์ (เช่น x.y.z)

testName String: ชื่อเมธอด

setRunName

public void setRunName (String runName)

ตั้งชื่อการเรียกใช้ที่กำหนดเองเพื่อรายงานไปยัง ITestRunListener ในวันที่ run(ITestRunListener)

หากไม่ระบุ ระบบจะใช้ชื่อแพ็กเกจ

setTestCollection

public void setTestCollection (boolean b)

ตั้งค่าการทดสอบนี้เป็นโหมดการรวบรวมการทดสอบ หากเป็นจริง ระบบจะข้ามการดำเนินการทดสอบและตั้งค่าอาร์กิวเมนต์ของโปรแกรมเรียกใช้ที่เหมาะสมทั้งหมดที่จำเป็นสำหรับการรวบรวมการทดสอบที่สำเร็จ

พารามิเตอร์
b boolean

setTestPackageName

public void setTestPackageName (String packageName)

ตั้งค่าให้เรียกใช้การทดสอบทั้งหมดในแพ็กเกจที่ระบุ ต้องเรียกใช้ก่อน "run"

พารามิเตอร์
packageName String: ชื่อแพ็กเกจที่สมบูรณ์ในตัวเอง (เช่น x.y.z)

setTestSize

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

ตั้งค่าให้เรียกใช้เฉพาะการทดสอบที่มีขนาดที่ระบุ ต้องเรียกใช้ก่อน 'run'

พารามิเตอร์
size IRemoteAndroidTestRunner.TestSize: TestSize ที่จะเรียกใช้

วิธีการที่ได้รับการป้องกัน

getRunCommand

protected String getRunCommand ()

การคืนสินค้า
String

getRunnerPath

protected String getRunnerPath ()

การคืนสินค้า
String