رابط کاربری خودکار دونده

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

شیء جاوا
com.android.tradefed.testtype.UiAutomatorRunner


تست UI Automator را روی دستگاه اجرا می‌کند و نتایج را گزارش می‌دهد. تست UI Automator یک اجراکننده تست اختصاصی برای اجرای تست‌های اتوماسیون UI است که از چارچوب UI Automator استفاده می‌کند. اجراکننده تست روی دستگاه، فرمت خروجی تست instrumentation را شبیه‌سازی می‌کند تا کد تجزیه موجود در ddmlib و TF قابل استفاده مجدد باشد. اساساً، این یک پوشش پیرامون این دستور است: adb shell uiautomator runtest (jar files) -e class (test classes) ...

خلاصه

سازندگان عمومی

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

ایجاد یک UiAutomatorRunner برای اجرای تست‌های اتوماسیون رابط کاربری

روش‌های عمومی

void addBooleanArg (String name, boolean value)

یک آرگومان بولی برای قرار دادن در دستور instrumentation اضافه می‌کند.

void addInstrumentationArg (String name, String value)

یک آرگومان برای گنجاندن در دستور instrumentation اضافه می‌کند.

void cancel ()

درخواست لغو این اجرای آزمایشی را دارد.

IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

نوع پوشش آزمایشی تولید شده توسط اجراکننده را برمی‌گرداند.

String getPackageName ()

نام بسته آخرین کلاس جاوا اضافه شده را برمی‌گرداند.

String getRunnerName ()

نام پیش‌فرض کلاس UiAutomatorTestRunner را برمی‌گرداند.

void removeInstrumentationArg (String name)

آرگومانی که قبلاً اضافه شده را حذف می‌کند.

void run ( ITestRunListener... listeners)

این اجرای آزمایشی را انجام دهید.

void run ( listeners)

این اجرای آزمایشی را انجام دهید.

void setAdditionalTestOutputLocation (String additionalTestDataPath)

محل کپی شدن خروجی تست اضافی در هاست را قبل از حذف نصب برنامه تست تعیین می‌کند.

void setClassName (String className)

فقط تست‌های این کلاس را اجرا می‌کند. باید قبل از «اجرا» فراخوانی شود.

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)

حداکثر زمان مجاز بین خروجی دستور shell که تست‌ها را روی دستگاه‌ها اجرا می‌کند، تنظیم می‌کند.

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( )

اگر مشخص نشده باشد، از نام بسته استفاده خواهد شد

void setTestCollection (boolean b)

این اجرای آزمایشی را در حالت جمع‌آوری آزمایشی تنظیم می‌کند.

void setTestPackageName (String packageName)

برای اجرای تمام تست‌ها در بسته‌ی مشخص شده تنظیم می‌شود. باید قبل از 'run' فراخوانی شود.

void setTestSize ( IRemoteAndroidTestRunner.TestSize size)

تنظیم می‌کند که فقط تست‌هایی با اندازه داده شده اجرا شوند.

روش‌های محافظت‌شده

String getRunCommand ()
String getRunnerPath ()

سازندگان عمومی

رابط کاربری خودکار دونده

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

ایجاد یک UiAutomatorRunner برای اجرای تست‌های اتوماسیون رابط کاربری

پارامترها
remoteDevice IDevice : دستگاه راه دور برای تعامل با: اجرای تست، جمع‌آوری نتایج و غیره

jarPaths String : مسیرهای فایل‌های jar که موارد تست UI Automator در آنها قرار دارند؛ این مسیرها باید مطلق یا نسبی به /data/local/tmp/ در دستگاه باشند.

runnerPath String : برنامه‌ی جایگزین uiautomator runner برای استفاده، که می‌تواند null باشد و در این مورد از مقدار پیش‌فرض استفاده خواهد شد.

روش‌های عمومی

addBooleanArg

public void addBooleanArg (String name, 
                boolean value)

یک آرگومان بولی برای قرار دادن در دستور instrumentation اضافه می‌کند.

پارامترها
name String : نام آرگومان بسته ابزار دقیق

value boolean : مقدار آرگومان

addInstrumentationArg

public void addInstrumentationArg (String name, 
                String value)

یک آرگومان برای گنجاندن در دستور instrumentation اضافه می‌کند.

باید قبل از 'run' فراخوانی شود. اگر آرگومانی با نام داده شده قبلاً ارائه شده باشد، مقدار آن لغو می‌شود.

پارامترها
name String : نام آرگومان بسته ابزار دقیق

value String : مقدار آرگومان

لغو

public void cancel ()

درخواست لغو این اجرای آزمایشی را دارد.

دریافتپوششخروجینوع

public IRemoteAndroidTestRunner.CoverageOutput getCoverageOutputType ()

نوع پوشش آزمایشی تولید شده توسط اجراکننده را برمی‌گرداند. به CoverageOutput مراجعه کنید.

بازگشت‌ها
IRemoteAndroidTestRunner.CoverageOutput

دریافت نام بسته

public String getPackageName ()

نام بسته آخرین کلاس جاوا اضافه شده را برمی‌گرداند.

بازگشت‌ها
String

نام دونده را دریافت کنید

public String getRunnerName ()

نام پیش‌فرض کلاس UiAutomatorTestRunner را برمی‌گرداند.

بازگشت‌ها
String

حذف ابزار دقیق Arg

public void removeInstrumentationArg (String name)

آرگومانی که قبلاً اضافه شده را حذف می‌کند.

پارامترها
name String : نام آرگومان بسته ابزار دقیق که باید حذف شود

دویدن

public void run (ITestRunListener... listeners)

این اجرای آزمایشی را انجام دهید.

روش راحتی برای ERROR(/#run(Collection)) .

پارامترها
listeners ITestRunListener : به نتایج تست گوش می‌دهد.

پرتاب‌ها
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

دویدن

public void run ( listeners)

این اجرای آزمایشی را انجام دهید.

پارامترها
listeners : جمع‌آوری شنوندگان برای نتایج آزمون

پرتاب‌ها
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

setAdditionalTestOutputLocation

public void setAdditionalTestOutputLocation (String additionalTestDataPath)

محل کپی شدن خروجی تست اضافی در میزبان را قبل از حذف نصب برنامه تست تعیین می‌کند. مثلاً گزارش‌های بنچمارک تولید شده.

پارامترها
additionalTestDataPath String

نام کلاس را تنظیم کنید

public void setClassName (String className)

فقط تست‌های این کلاس را اجرا می‌کند. باید قبل از «اجرا» فراخوانی شود.

پارامترها
className String : نام کلاس کاملاً واجد شرایط (مثلاً xyz)

نام‌های کلاس را تنظیم کنید

public void setClassNames (String[] classNames)

فقط تست‌های موجود در کلاس‌های ارائه شده را اجرا می‌کند. باید قبل از 'run' فراخوانی شود.

در صورت ارائه بیش از یک کلاس، به یک InstrumentationTestRunner نیاز است که از سینتکس آرگومان کلاس چندگانه پشتیبانی کند.

پارامترها
classNames String : آرایه‌ای از نام‌های کلاس کاملاً واجد شرایط (مثلاً xyz)

پوشش مجموعه

public void setCoverage (boolean coverage)

این حالت پوشش کد را برای این اجرای آزمایشی تنظیم می‌کند.

پارامترها
coverage boolean

تنظیم پوشش گزارش موقعیت مکانی

public void setCoverageReportLocation (String arg0)

محل گزارش‌های پوشش تولید شده را تنظیم می‌کند.

پارامترها
arg0 String

اشکال‌زدایی تنظیم‌شده

public void setDebug (boolean debug)

این حالت اشکال‌زدایی (debug mode) را برای این اجرای آزمایشی تنظیم می‌کند. اگر مقدار آن درست باشد، اجراکننده‌ی آزمایشی اندروید قبل از ادامه‌ی اجرای آزمایشی، منتظر اتصال یک اشکال‌زدا (debugger) خواهد ماند.

پارامترها
debug boolean

نادیده گرفتن

public void setIgnoreSighup (boolean value)

گزینه‌ای را در uiautomator تنظیم می‌کند تا SIGHUP را نادیده بگیرد.

پارامترها
value boolean : اگر روی درست تنظیم شده باشد، سیگنال را نادیده می‌گیرد

فقط تنظیم ورود

public void setLogOnly (boolean logOnly)

این اجرای آزمایشی را روی حالت فقط ثبت وقایع تنظیم می‌کند - از اجرای آزمایش صرف نظر می‌کند.

پارامترها
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

حداکثر زمان مجاز بین خروجی دستور shell که تست‌ها را روی دستگاه‌ها اجرا می‌کند، تنظیم می‌کند.

این امکان تنظیم یک مهلت زمانی را فراهم می‌کند تا در صورت گیر کردن و تمام نشدن تست‌ها، بتوانید از آن استفاده کنید. این با مهلت زمانی معمول در اتصال متفاوت است.

به طور پیش‌فرض هیچ مهلت زمانی مشخص نخواهد شد.

پارامترها
timeout long : حداکثر زمانی که دستور مجاز است هیچ پاسخی ارائه ندهد. مقدار 0 به این معنی است که متد برای همیشه (تا زمانی که receiver اجرا را لغو کند) منتظر خروجی دستور می‌ماند و هرگز ارسال نمی‌شود.

unit TimeUnit : واحد برای مقادیر غیر صفر maxTimeToOutputResponse و maxTimeout .

setMaxTimeout

public void setMaxTimeout (long maxTimeout, 
                TimeUnit unit)

حداکثر زمان مجاز برای اتمام ابزار دقیق را تعیین می‌کند.

این امکان تنظیم یک مهلت زمانی را فراهم می‌کند تا در صورت گیر کردن و تمام نشدن تست‌ها، بتوانید از آن استفاده کنید. این با مهلت زمانی معمول در اتصال متفاوت است.

به طور پیش‌فرض هیچ مهلت زمانی مشخص نخواهد شد.

پارامترها
maxTimeout long : حداکثر زمانی که دستور مجاز است هیچ پاسخی ارائه ندهد. مقدار 0 به این معنی است که متد برای همیشه (تا زمانی که receiver اجرا را لغو کند) منتظر خروجی دستور می‌ماند و هرگز ارسال نمی‌شود.

unit TimeUnit : واحد برای مقادیر غیر صفر maxTimeToOutputResponse و maxTimeout .

setMaxtimeToOutputResponse

public void setMaxtimeToOutputResponse (int maxTimeToOutputResponse)

این روش منسوخ شده است.
به جای آن از setMaxTimeToOutputResponse(long, TimeUnit) استفاده کنید.

پارامترها
maxTimeToOutputResponse int

نام متد را تنظیم کنید

public void setMethodName (String className, 
                String testName)

فقط متد تست مشخص شده را برای اجرا تنظیم می‌کند. باید قبل از 'run' فراخوانی شود.

پارامترها
className String : نام کلاس کاملاً واجد شرایط (مثلاً xyz)

testName String : نام متد

نام اجرا را تنظیم کنید

public void setRunName (String runName)

یک نام اجرای سفارشی تنظیم کنید تا در هنگام اجرا به ITestRunListener گزارش شود run( )

اگر مشخص نشده باشد، از نام بسته استفاده خواهد شد

مجموعه تست مجموعه

public void setTestCollection (boolean b)

این اجرای آزمایشی را در حالت جمع‌آوری آزمایشی تنظیم می‌کند. اگر درست باشد، از اجرای آزمایشی صرف نظر می‌کند و تمام آرگومان‌های مناسب اجراکننده مورد نیاز برای یک جمع‌آوری آزمایشی موفق را تنظیم می‌کند.

پارامترها
b boolean

نام بسته‌ی آزمایشی را تنظیم کنید

public void setTestPackageName (String packageName)

برای اجرای تمام تست‌ها در بسته‌ی مشخص شده تنظیم می‌شود. باید قبل از 'run' فراخوانی شود.

پارامترها
packageName String : نام کامل بسته (مثلاً xyz)

تنظیم اندازه تست

public void setTestSize (IRemoteAndroidTestRunner.TestSize size)

تنظیم می‌کند که فقط تست‌هایی با اندازه داده شده اجرا شوند. باید قبل از 'run' فراخوانی شود.

پارامترها
size IRemoteAndroidTestRunner.TestSize : TestSize برای اجرا.

روش‌های محافظت‌شده

دستور getRunCommand

protected String getRunCommand ()

بازگشت‌ها
String

دریافت مسیر اجرا

protected String getRunnerPath ()

بازگشت‌ها
String