تست Uiautomator

چارچوبی برای آزمایش رابط کاربری کاربردی متقابل برنامه
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
26 ژوئن 2024 2.3.0 - - 2.4.0-alpha01

اعلام وابستگی ها

برای افزودن وابستگی به تست، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.4.0-alpha01"
}

کاتلین

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.4.0-alpha01")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 2.4

نسخه 2.4.0-alpha01

26 ژوئن 2024

androidx.test.uiautomator:uiautomator:2.4.0-alpha01 منتشر شد. نسخه 2.4.0-alpha01 حاوی این commit ها است.

تغییرات API

  • Configurator#getKeyInjectionDelay و setKeyInjectionDelay به عنوان پارامتری که اکنون متن همیشه مستقیماً به جای فشار دادن کلید تزریق می‌شود، استفاده نمی‌شود، منسوخ شده است. ( I3bcc5 ).

رفع اشکال

  • تأخیر بین رویدادهای حرکتی UiObject2 را به‌روزرسانی کرد تا نرخ تازه‌سازی پویا (یعنی نمایشگر صاف) را در نظر بگیرد ( I43f12 ).
  • با باطل کردن متناوب حافظه پنهان دسترس‌پذیری ( I3be25 ) باعث کاهش پوسته پوسته شدن ناشی از کهنگی گره دسترسی در برخی از رابط‌های کاربری خاص شد.
  • هنگام فراخوانی toString یا hashCode در UiObject2 قدیمی، StaleObjectException ثابت شد. ( I38ea1 ).
  • بهبود عملکرد UiWatcher با پرش از تماس‌های غیرضروری waitForIdle . ( I8c65e ).
  • رفع عدم دقت جاوادوک، به خصوص برای روشن شدن زمان استفاده از هر پارامتر Configurator . ( Ie10b1 ، I71631 ).

نسخه 2.3.0

نسخه 2.3.0

21 فوریه 2024

androidx.test.uiautomator:uiautomator:2.3.0 منتشر شد. نسخه 2.3.0 حاوی این commit ها است.

تغییرات مهم از 2.2.0

  • پشتیبانی از چند نمایشگر : اضافه شدن پشتیبانی برای یافتن و کارکرد روی اشیاء در چندین نمایشگر، و روش‌های UiDevice برای مدیریت نمایشگرهای ثانویه ( Ie6544 ، I912cd ).
  • انتخاب کنندگان جدید :
    • By.displayId برای انتخاب اشیا با شناسه نمایش آنها ( I1825b ) اضافه شد.
    • اضافه شده توسط By.hasParent و By.hasAncestor برای انتخاب اشیاء با توجه به والدین خود ( I93c36 ).
    • روش های By.hint را برای انتخاب اشیا با متن اشاره آنها اضافه کرد ( Idd345 ).
  • شرایط سفارشی : یک رابط Condition برای پشتیبانی از شرایط انتظار سفارشی نمایش داده شد و متدهای UiDevice#wait ، UiObject2#wait و UiObject2#scrollUntil مربوطه را اضافه کرد ( 27c0ea ، 099d6e ).
  • رفع اشکال و قابلیت اطمینان
    • مشکلی که در آن محاسبات اندازه نمایشگر گهگاه نادرست بود و ممکن بود بخش‌هایی از صفحه نمایش را نادیده بگیرد برطرف شد ( Ifc016 ). مختصات و افست های مورد استفاده در آزمون ها ممکن است نیاز به تنظیم داشته باشند.
    • تزریق MotionEvent به‌روزرسانی شده برای بهبود دقت ( 678ca3 ) و شبیه‌سازی بهتر حرکات کاربر ( 454450 ).
    • قابلیت اطمینان کتیبه‌ها ( I7b059 )، چرخش‌ها ( c6cea0 )، کلیک‌های طولانی ( 49572b )، پینچ‌ها ( 3c619a ) و موارد دیگر بهبود یافته است.

نسخه 2.3.0-rc01

7 فوریه 2024

androidx.test.uiautomator:uiautomator:2.3.0-rc01 بدون هیچ تغییری منتشر شد. نسخه 2.3.0-rc01 حاوی این commit ها است.

نسخه 2.3.0-beta01

13 دسامبر 2023

androidx.test.uiautomator:uiautomator:2.3.0-beta01 منتشر شد. نسخه 2.3.0-beta01 حاوی این تعهدات است.

تغییرات API

  • روش‌های حاشیه مبتنی بر درصد UiObject2 را برای سازگاری به setGestureMarginPercentage و setGestureMarginsPercentage تغییر نام داد ( I24435 )

رفع اشکال

  • خطای پرتاب شده زمانی که نمایشگر ثانویه یافت نشد یا در دسترس نبود بهبود یافت ( 116b23 )

نسخه 2.3.0-alpha05

1 نوامبر 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha05 منتشر شد. نسخه 2.3.0-alpha05 حاوی این commit ها است.

تغییرات API

  • UiObject2#getDrawingOrder برای افشای اطلاعات ترتیب ترسیم (z-index) اضافه شد. ( I5dfa4 ).
  • روش‌های UiDevice برای دریافت، تنظیم، ثابت کردن و بازکردن چرخش نمایشگرهای ثانویه اضافه شده است. ( I912cd ).

رفع اشکال

  • سعی مجدد به UiObject2#scrollUntil اضافه شد تا زمانی که پایان پیمایش شناسایی نشد ( Ibac6f ).
  • مشکلی که در آن UiDevice از یک نمونه قدیمی Instrumentation در صورت بازسازی مجدد استفاده می‌کرد، برطرف شد ( I18cae ).
  • اگر شناسه نمایشگر هنگام تخلیه گره ها ( Icafcb ) قابل تعیین نباشد، NPE ممکن را رفع کرد.
  • هشدار اضافه شده هنگام انجام کلیک/پیمایش روی اشیاء غیرقابل کلیک/پیمایش ( I4a5d9 ).
  • برای بهبود قابلیت اطمینان، سرعت اسکرول پیش‌فرض UiObject2 را کاهش داد ( I5e071 ).

نسخه 2.3.0-alpha04

26 جولای 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha04 منتشر شد. نسخه 2.3.0-alpha04 حاوی این commit ها است.

تغییرات API

  • By.hasParent و By.hasAncestor برای پشتیبانی از یافتن اشیاء مطابق با والدین آنها اضافه شده است ( I93c36 ).
  • UiObject2#getHint برای بازیابی متن اشاره یک شی و متدهای By.hint برای انتخاب اشیا بر اساس متن اشاره آنها اضافه شد ( Idd345 ).
  • By.displayId برای پشتیبانی از انتخاب ��شیا با توجه به صفحه نمایشی که روی آنها هستند ( I1825b ) اضافه شده است.
  • روش‌های UiDevice#getDisplayHeight(int) و UiDevice#getDisplayWidth(int) برای یافتن ابعاد نمایشگر با شناسه آن ( Ie6544 ) اضافه شد.
  • روش‌های wait(SearchCondition, long) و wait(UiObject2Condition, long) را برای سازگاری با عقب ( Iebfda ) دوباره اضافه کرد.
  • UiDevice#executeShellCommand به عمومی تغییر داد، اما به جای پنهان کردن، دلسر�� شد ( Ic48a1 ).

رفع اشکال

  • تزریق MotionEvent به روز شده برای کاهش پوسته پوسته شدن با اولویت دادن به دقت حرکت بر سرعت ( 678ca3 ).
  • ردیابی به روش‌های سنگین منابع برای شناسایی تنگناهای عملکرد اضافه شد ( d17de3 ).
  • هنگام شروع اتصال UiAutomation ( 048caf ) یک مکانیسم امتحان مجدد اضافه شد.
  • یک NPE احتمالی از گره‌های پوچ در UiDevice#dumpWindowHierarchy ( b725eb ) رفع شد.
  • رفع خطاهای غیرمنتظره ناشی از پرس و جو یا عملکرد بر روی نمایشگرهای خصوصی ( 985db6 ، 7053d4 ).

نسخه 2.3.0-alpha03

19 آوریل 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha03 منتشر شد. نسخه 2.3.0-alpha03 حاوی این commit ها است.

تغییرات API

  • یک رابط Condition را برای اجازه دادن به شرایط انتظار سفارشی به جای تکیه بر داخلی‌های داخلی در Until ارائه کرد و روش‌های UiDevice#wait و UiObject2#wait برای پذیرش این رابط به‌روزرسانی کرد ( 27c0ea ).
  • UiObject2#scrollUntil برای پشتیبانی از اسکرول تا زمانی که یک شرط برآورده شود و برای رسیدن به برابری با UiScrollable ( 099d6e ) اضافه شد.
  • UiDevice#setOrientationPortrait و setOrientationLandscape اضافه شد تا چرخش بین انواع دستگاه را تسهیل کند ( e13cb7 ).
  • UiObject2#setGestureMarginPercent برای پشتیبانی از تنظیم حاشیه نسبت به اندازه شی اضافه شد. ( Ib8c77 )

رفع اشکال

  • روش‌های UiScrollable گهگاه با استفاده از مختصات نامعتبر در SDK‌های 18 تا 22 ( b53ece ) ثابت شد.
  • رفع مشکل UiObject2#setText و clearText در تغییر متن در SDKهای 18 و 19 ( 77e41d ).
  • UiWatcher ثابت شد که به ترتیب درست اجرا نمی شود ( c85f92 ).
  • رفع مشکل چرخش دستگاه پس از تغییر جهت UiDevice ( c6cea0 ).
  • قابلیت اطمینان کلیک‌های طولانی، کشیدن، و نیشگون گرفتن‌ها ( 49572b ، 3c619a ) بهبود یافته است.

نسخه 2.3.0-alpha02

11 ژانویه 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha02 منتشر شد. نسخه 2.3.0-alpha02 حاوی این commit ها است.

تغییرات API

  • ثبت مجدد در سراسر کتابخانه برای ارائه اطلاعات بیشتر، هشدار در مورد مسائل احتمالی و بهبود ثبات.
  • UiDevice#pressKeyCodes برای پشتیبانی از فشار دادن چندین کلید به طور همزمان، به عنوان مثال فشار دادن POWER و VOLUME_DOWN برای گرفتن عکس از صفحه ( 22e525 ) اضافه شد.
  • UiDevice#setCompressedLayoutHierarchy و UiDevice#setCompressedLayoutHeirarchy منسوخ شده برای رفع اشتباه تایپی در نام متد ( 4e2f65 ) اضافه شد.
  • UiAutomatorInstrumentationTestRunner به عنوان منسوخ علامت گذاری کرد زیرا UiAutomatorTestCase های منسوخ را مدیریت می کند و دیگر ضروری نیست ( be6c85 ).
  • تاخیر بین UiObject2 MotionEvent به دو برابر نرخ تازه سازی نمایشگر برای تقلید بهتر حرکات کاربر ( 454450 ).
  • پشتیبانی برای تطبیق متن و توضیحات چند خطی اضافه شد ( 1625e6 ، b/255787130 ).

رفع اشکال

  • StaleObjectException گهگاه در حین پرس و جو یا انتظار برای اشیا پرتاب می شود ( 4cbcc0 ).
  • مقادیر بازگشتی UiScrollable#scrollToBeginning ، scrollToEnd ، flingToBeginning و flingToEnd را ثابت کرد که نشان نمی‌دهد آیا به آغاز/پایان رسیده است ( d33e06 ).
  • روش‌های UiScrollable#scrollForward و scrollBackward را با نادیده گرفتن مهلت زمانی پیکربندی شده ( 29e4f3 ) رفع کرد.
  • تعمیر کپی BySelector که با انتخابگرهای عمق کار نمی‌کند ( 6c7b91 ).
  • رسیدگی به مقادیر درصد نامعتبر در UiObject#pinchIn و pinchOut ( 01b973 ) رفع شد.
  • مشکل نادری که در صورت بازنشانی ا��صال UiAutomation زیربنایی، پشتیبانی از چند پنجره از بین می‌رفت، برطرف شد ( 1bb956 ).

نسخه 2.3.0-alpha01

7 سپتامبر 2022

androidx.test.uiautomator:uiautomator:2.3.0-alpha01 منتشر شد. نسخه 2.3.0-alpha01 حاوی این commit ها است.

تغییرات API

  • بیهودگی تمام روش های عمومی را مشروح کرد.
  • تزریق MotionEvent را با تأخیر کوتاه به ناهمزمان تغییر داد تا حرکات UiObject2 روان‌تر شود.
  • فاصله نظرسنجی در حین انتظار را از 1000 میلی ثانیه به 100 میلی ثانیه کاهش داد.
  • UiDevice#wakeUp و UiDevice#sleep برای استفاده از KEYCODE_WAKEUP و KEYCODE_SLEEP برای پشتیبانی از دستگاه‌هایی که دکمه روشن/خاموش را لغو می‌کنند، به‌روزرسانی شد.
  • UiObject2#getDisplayId و پشتیبانی برای یافتن و مدیریت اشیاء در چندین نمایشگر اضافه شد.
  • روش‌های UiObject#click و UiObject2#clickAndWait برای کلیک کردن روی یک نقطه با استفاده از مختصات آن اضافه شد.

رفع اشکال

  • مشکلی که در آن محاسبات اندازه نمایشگر گهگاه نادرست بود و ممکن بود بخش‌هایی از صفحه نمایش را نادیده بگیرد، به خصوص در حالت چند پنجره ای ( Ifc016c ) برطرف شد.
  • تغییر مقیاس اسکرین شات ها در UiDevice#takeScreenshot ( Id80ad6 ).
  • قابلیت اطمینان Until.scrollFinished و UiObject2#scroll ( I7b0595 ) را بهبود بخشید.
  • اخطارهای IncorrectContextUseViolation حالت سخت را رفع کرد ( Iffa6a0 ).
،

تست Uiautomator

چارچوبی برای آزمایش رابط کاربری کاربردی متقابل برنامه
آخرین به روز رسانی انتشار پایدار کاندید را آزاد کنید نسخه بتا انتشار آلفا
26 ژوئن 2024 2.3.0 - - 2.4.0-alpha01

اعلام وابستگی ها

برای افزودن وابستگی به تست، باید مخزن Google Maven را به پروژه خود اضافه کنید. برای اطلاعات بیشتر، مخزن Maven Google را بخوانید.

وابستگی‌های مصنوعات مورد نیاز خود را در فایل build.gradle برای برنامه یا ماژول خود اضافه کنید:

شیار

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation "androidx.test.uiautomator:uiautomator:2.4.0-alpha01"
}

کاتلین

dependencies {
    // Use to implement UIAutomator tests
    androidTestImplementation("androidx.test.uiautomator:uiautomator:2.4.0-alpha01")
}

برای اطلاعات بیشتر درباره وابستگی‌ها، به افزودن وابستگی‌های ساخت نگاه کنید.

بازخورد

بازخورد شما به بهتر شدن Jetpack کمک می کند. اگر مسائل جدیدی کشف کردید یا ایده هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل از ایجاد کتابخانه جدید، به مسائل موجود در این کتابخانه نگاهی بیندازید. با کلیک کردن روی دکمه ستاره می توانید رای خود را به یک موضوع موجود اضافه کنید.

یک شماره جدید ایجاد کنید

برای اطلاعات بیشتر به مستندات ردیاب مشکل مراجعه کنید.

نسخه 2.4

نسخه 2.4.0-alpha01

26 ژوئن 2024

androidx.test.uiautomator:uiautomator:2.4.0-alpha01 منتشر شد. نسخه 2.4.0-alpha01 حاوی این commit ها است.

تغییرات API

  • Configurator#getKeyInjectionDelay و setKeyInjectionDelay به عنوان پارامتری که اکنون متن همیشه مستقیماً به جای فشار دادن کلید تزریق می‌شود، استفاده نمی‌شود، منسوخ شده است. ( I3bcc5 ).

رفع اشکال

  • تأخیر بین رویدادهای حرکتی UiObject2 را به‌روزرسانی کرد تا نرخ تازه‌سازی پویا (یعنی نمایشگر صاف) را در نظر بگیرد ( I43f12 ).
  • با باطل کردن متناوب حافظه پنهان دسترس‌پذیری ( I3be25 ) باعث کاهش پوسته پوسته شدن ناشی از کهنگی گره دسترسی در برخی از رابط‌های کاربری خاص شد.
  • هنگام فراخوانی toString یا hashCode در UiObject2 قدیمی، StaleObjectException ثابت شد. ( I38ea1 ).
  • بهبود عملکرد UiWatcher با پرش از تماس‌های غیرضروری waitForIdle . ( I8c65e ).
  • رفع عدم دقت جاوادوک، به خصوص برای روشن شدن زمان استفاده از هر پارامتر Configurator . ( Ie10b1 ، I71631 ).

نسخه 2.3.0

نسخه 2.3.0

21 فوریه 2024

androidx.test.uiautomator:uiautomator:2.3.0 منتشر شد. نسخه 2.3.0 حاوی این commit ها است.

تغییرات مهم از 2.2.0

  • پشتیبانی از چند نمایشگر : اضافه شدن پشتیبانی برای یافتن و کارکرد روی اشیاء در چندین نمایشگر، و روش‌های UiDevice برای مدیریت نمایشگرهای ثانویه ( Ie6544 ، I912cd ).
  • انتخاب کنندگان جدید :
    • By.displayId برای انتخاب اشیا با شناسه نمایش آنها ( I1825b ) اضافه شد.
    • اضافه شده توسط By.hasParent و By.hasAncestor برای انتخاب اشیاء با توجه به والدین خود ( I93c36 ).
    • روش های By.hint را برای انتخاب اشیا با متن اشاره آنها اضافه کرد ( Idd345 ).
  • شرایط سفارشی : یک رابط Condition برای پشتیبانی از شرایط انتظار سفارشی نمایش داده شد و متدهای UiDevice#wait ، UiObject2#wait و UiObject2#scrollUntil مربوطه را اضافه کرد ( 27c0ea ، 099d6e ).
  • رفع اشکال و قابلیت اطمینان
    • مشکلی که در آن محاسبات اندازه نمایشگر گهگاه نادرست بود و ممکن بود بخش‌هایی از صفحه نمایش را نادیده بگیرد برطرف شد ( Ifc016 ). مختصات و افست های مورد استفاده در آزمون ها ممکن است نیاز به تنظیم داشته باشند.
    • تزریق MotionEvent به‌روزرسانی شده برای بهبود دقت ( 678ca3 ) و شبیه‌سازی بهتر حرکات کاربر ( 454450 ).
    • قابلیت اطمینان کتیبه‌ها ( I7b059 )، چرخش‌ها ( c6cea0 )، کلیک‌های طولانی ( 49572b )، پینچ‌ها ( 3c619a ) و موارد دیگر بهبود یافته است.

نسخه 2.3.0-rc01

7 فوریه 2024

androidx.test.uiautomator:uiautomator:2.3.0-rc01 بدون هیچ تغییری منتشر شد. نسخه 2.3.0-rc01 حاوی این commit ها است.

نسخه 2.3.0-beta01

13 دسامبر 2023

androidx.test.uiautomator:uiautomator:2.3.0-beta01 منتشر شد. نسخه 2.3.0-beta01 حاوی این تعهدات است.

تغییرات API

  • روش‌های حاشیه مبتنی بر درصد UiObject2 را برای سازگاری به setGestureMarginPercentage و setGestureMarginsPercentage تغییر نام داد ( I24435 )

رفع اشکال

  • خطای پرتاب شده زمانی که نمایشگر ثانویه یافت نشد یا در دسترس نبود بهبود یافت ( 116b23 )

نسخه 2.3.0-alpha05

1 نوامبر 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha05 منتشر شد. نسخه 2.3.0-alpha05 حاوی این commit ها است.

تغییرات API

  • UiObject2#getDrawingOrder برای افشای اطلاعات ترتیب ترسیم (z-index) اضافه شد. ( I5dfa4 ).
  • روش‌های UiDevice برای دریافت، تنظیم، ثابت کردن و بازکردن چرخش نمایشگرهای ثانویه اضافه شده است. ( I912cd ).

رفع اشکال

  • سعی مجدد به UiObject2#scrollUntil اضافه شد تا زمانی که پایان پیمایش شناسایی نشد ( Ibac6f ).
  • مشکلی که در آن UiDevice از یک نمونه قدیمی Instrumentation در صورت بازسازی مجدد استفاده می‌کرد، برطرف شد ( I18cae ).
  • اگر شناسه نمایشگر هنگام تخلیه گره ها ( Icafcb ) قابل تعیین نباشد، NPE ممکن را رفع کرد.
  • هشدار اضافه شده هنگام انجام کلیک/پیمایش روی اشیاء غیرقابل کلیک/پیمایش ( I4a5d9 ).
  • برای بهبود قابلیت اطمینان، ��رعت اسکرول پیش‌فرض UiObject2 را کاهش داد ( I5e071 ).

نسخه 2.3.0-alpha04

26 جولای 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha04 منتشر شد. نسخه 2.3.0-alpha04 حاوی این commit ها است.

تغییرات API

  • By.hasParent و By.hasAncestor برای پشتیبانی از یافتن اشیاء مطابق با والدین آنها اضافه شده است ( I93c36 ).
  • UiObject2#getHint برای بازیابی متن اشاره یک شی و متدهای By.hint برای انتخاب اشیا بر اساس متن اشاره آنها اضافه شد ( Idd345 ).
  • By.displayId برای پشتیبانی از انتخاب اشیا با توجه به صفحه نمایشی که روی آنها هستند ( I1825b ) اضافه شده است.
  • روش‌های UiDevice#getDisplayHeight(int) و UiDevice#getDisplayWidth(int) برای یافتن ابعاد نمایشگر با شناسه آن ( Ie6544 ) اضافه شد.
  • روش‌های wait(SearchCondition, long) و wait(UiObject2Condition, long) را برای سازگاری با عقب ( Iebfda ) دوباره اضافه کرد.
  • UiDevice#executeShellCommand به عمومی تغییر داد، اما به جای پنهان کردن، دلسرد شد ( Ic48a1 ).

رفع اشکال

  • تزریق MotionEvent به روز شده برای کاهش پوسته پوسته شدن با اولویت دادن به دقت حرکت بر سرعت ( 678ca3 ).
  • ردیابی به روش‌های سنگین منابع برای شناسایی تنگناهای عملکرد اضافه شد ( d17de3 ).
  • هنگام شروع اتصال UiAutomation ( 048caf ) یک مکانیسم امتحان مجدد اضافه شد.
  • یک NPE احتمالی از گره‌های پوچ در UiDevice#dumpWindowHierarchy ( b725eb ) رفع شد.
  • رفع خطاهای غیرمنتظره ناشی از پرس و جو یا عملکرد بر روی نمایشگرهای خصوصی ( 985db6 ، 7053d4 ).

نسخه 2.3.0-alpha03

19 آوریل 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha03 منتشر شد. نسخه 2.3.0-alpha03 حاوی این commit ها است.

تغییرات API

  • یک رابط Condition را برای اجازه دادن به شرایط انتظار سفارشی به جای تکیه بر داخلی‌های داخلی در Until ارائه کرد و روش‌های UiDevice#wait و UiObject2#wait برای پذیرش این رابط به‌روزرسانی کرد ( 27c0ea ).
  • UiObject2#scrollUntil برای پشتیبانی از اسکرول تا زمانی که یک شرط برآورده شود و برای رسیدن به برابری با UiScrollable ( 099d6e ) اضافه شد.
  • UiDevice#setOrientationPortrait و setOrientationLandscape اضافه شد تا چرخش بین انواع دستگاه را تسهیل کند ( e13cb7 ).
  • UiObject2#setGestureMarginPercent برای پشتیبانی از تنظیم حاشیه نسبت به اندازه شی اضافه شد. ( Ib8c77 )

رفع اشکال

  • روش‌های UiScrollable گهگاه با استفاده از مختصات نامعتبر در SDK‌های 18 تا 22 ( b53ece ) ثابت شد.
  • رفع مشکل UiObject2#setText و clearText در تغییر متن در SDKهای 18 و 19 ( 77e41d ).
  • UiWatcher ثابت شد که به ترتیب درست اجرا نمی شود ( c85f92 ).
  • رفع مشکل چرخش دستگاه پس از تغییر جهت UiDevice ( c6cea0 ).
  • قابلیت اطمینان کلیک‌های طولانی، کشیدن، و نیشگون گرفتن‌ها ( 49572b ، 3c619a ) بهبود یافته است.

نسخه 2.3.0-alpha02

11 ژانویه 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha02 منتشر شد. نسخه 2.3.0-alpha02 حاوی این commit ها است.

تغییرات API

  • ثبت مجدد در سراسر کتابخانه برای ارائه اطلاعات بیشتر، هشدار در مورد مسائل احتمالی و بهبود ثبات.
  • UiDevice#pressKeyCodes برای پشتیبانی از فشار دادن چندین کلید به طور همزمان، به عنوان مثال فشار دادن POWER و VOLUME_DOWN برای گرفتن عکس از صفحه ( 22e525 ) اضافه شد.
  • UiDevice#setCompressedLayoutHierarchy و UiDevice#setCompressedLayoutHeirarchy منسوخ شده برای رفع اشتباه تایپی در نام متد ( 4e2f65 ) اضافه شد.
  • UiAutomatorInstrumentationTestRunner به عنوان منسوخ علامت گذاری کرد زیرا UiAutomatorTestCase های منسوخ را مدیریت می کند و دیگر ضروری نیست ( be6c85 ).
  • تاخیر بین UiObject2 MotionEvent به دو برابر نرخ تازه سازی نمایشگر برای تقلید بهتر حرکات کاربر ( 454450 ).
  • پشتیبانی برای تطبیق متن و توضیحات چند خطی اضافه شد ( 1625e6 ، b/255787130 ).

رفع اشکال

  • StaleObjectException گهگاه در حین پرس و جو یا انتظار برای اشیا پرتاب می شود ( 4cbcc0 ).
  • مقادیر بازگشتی UiScrollable#scrollToBeginning ، scrollToEnd ، flingToBeginning و flingToEnd را ثابت کرد که نشان نمی‌دهد آیا به آغاز/پایان رسیده است ( d33e06 ).
  • روش‌های UiScrollable#scrollForward و scrollBackward را با نادیده گرفتن مهلت زمانی پیکربندی شده ( 29e4f3 ) رفع کرد.
  • تعمیر کپی BySelector که با انتخابگرهای عمق کار نمی‌کند ( 6c7b91 ).
  • رسیدگی به مقادیر درصد نامعتبر در UiObject#pinchIn و pinchOut ( 01b973 ) رفع شد.
  • مشکل نادری که در صورت بازنشانی اتصال UiAutomation زیربنایی، پشتیبانی از چند پنجره از بین می‌رفت، برطرف شد ( 1bb956 ).

نسخه 2.3.0-alpha01

7 سپتامبر 2022

androidx.test.uiautomator:uiautomator:2.3.0-alpha01 منتشر شد. نسخه 2.3.0-alpha01 حاوی این commit ها است.

تغییرات API

  • بیهودگی تمام روش های عمومی را مشروح کرد.
  • تزریق MotionEvent را با تأخیر کوتاه به ناهمزمان تغییر داد تا حرکات UiObject2 روان‌تر شود.
  • فاصله نظرسنجی در حین انتظار را از 1000 میلی ثانیه به 100 میلی ثانیه کاهش داد.
  • UiDevice#wakeUp و UiDevice#sleep برای استفاده از KEYCODE_WAKEUP و KEYCODE_SLEEP برای پشتیبانی از دستگاه‌هایی که دکمه روشن/خاموش را لغو می‌کنند، به‌روزرسانی شد.
  • UiObject2#getDisplayId و پشتیبانی برای یافتن و مدیریت اشیاء در چندین نمایشگر اضافه شد.
  • روش‌های UiObject#click و UiObject2#clickAndWait برای کلیک کردن روی یک نقطه با استفاده از مختصات آن اضافه شد.

رفع اشکال

  • مشکلی که در آن محاسبات اندازه نمایشگر گهگاه نادرست بود و ممکن بود بخش‌هایی از صفحه نمایش را نادیده بگیرد، به خصوص در حالت چند پنجره ای ( Ifc016c ) برطرف شد.
  • تغییر مقیاس اسکرین شات ها در UiDevice#takeScreenshot ( Id80ad6 ).
  • قابلیت اطمینان Until.scrollFinished و UiObject2#scroll ( I7b0595 ) را بهبود بخشید.
  • اخطارهای IncorrectContextUseViolation حالت سخت را رفع کرد ( Iffa6a0 ).