UiAutomatorRunner

public class UiAutomatorRunner
extends Object implements IRemoteAndroidTestRunner

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


यह डिवाइस पर यूआई ऑटोमेटर टेस्ट चलाता है और नतीजे रिपोर्ट करता है. UI Automator टेस्ट, यूज़र इंटरफ़ेस (यूआई) ऑटोमेशन टेस्ट चलाने के लिए एक खास टेस्ट रनर होता है. यह UI Automator फ़्रेमवर्क का इस्तेमाल करता है. डिवाइस पर मौजूद टेस्ट रनर, इंस्ट्रुमेंटेशन टेस्ट के आउटपुट फ़ॉर्मैट की नकल करता है, ताकि 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)

यह इंस्ट्रुमेंटेशन कमांड में शामिल करने के लिए, बूलियन आर्ग्युमेंट जोड़ता है.

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

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 बनाएं

पैरामीटर
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)

इस टेस्ट रन को लागू करें.

ERROR(/#run(Collection)) के लिए सुविधा वाला तरीका.

पैरामीटर
listeners ITestRunListener: जांच के नतीजों के बारे में सुनता है

थ्रो
AdbCommandRejectedException
ShellCommandUnresponsiveException
TimeoutException

रन

public void run ( listeners)

इस टेस्ट रन को लागू करें.

पैरामीटर
listeners : जांच के नतीजों के लिए, लिसनर का कलेक्शन

थ्रो
AdbCommandRejectedException
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' से पहले कॉल किया जाना चाहिए.

एक से ज़्यादा क्लास देने पर, 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: अगर इसे true पर सेट किया गया है, तो सिग्नल को अनदेखा करें

setLogOnly

public void setLogOnly (boolean logOnly)

यह विकल्प, टेस्ट रन को सिर्फ़ लॉग मोड पर सेट करता है. इससे टेस्ट एक्ज़ीक्यूट नहीं होता.

पैरामीटर
logOnly boolean

setMaxTimeToOutputResponse

public void setMaxTimeToOutputResponse (long timeout, 
                TimeUnit unit)

इस विकल्प का इस्तेमाल करके, डिवाइसों पर टेस्ट चलाने वाली शेल कमांड के आउटपुट के बीच ज़्यादा से ज़्यादा समय सेट किया जाता है.

इससे, टेस्ट के रुक जाने और कभी पूरा न होने की स्थिति में टाइम आउट सेट किया जा सकता है. यह कनेक्शन के सामान्य टाइम आउट से अलग होता है.

डिफ़ॉल्ट रूप से, कोई टाइमआउट तय नहीं किया जाएगा.

पैरामीटर
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

setMethodName

public void setMethodName (String className, 
                String testName)

यह सिर्फ़ तय किए गए टेस्ट मेथड को चलाने के लिए सेट करता है. इसे 'run' से पहले कॉल किया जाना चाहिए.

पैरामीटर
className String: पूरी तरह क्वालिफ़ाइड क्लास का नाम (जैसे, x.y.z)

testName String: तरीके का नाम

setRunName

public void setRunName (String runName)

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