পরীক্ষা Uiautomator

ক্রস অ্যাপ কার্যকরী UI পরীক্ষার জন্য ফ্রেমওয়ার্ক
সর্বশেষ আপডেট স্থিতিশীল রিলিজ মুক্তির প্রার্থী বিটা রিলিজ আলফা রিলিজ
জুন 26, 2024 2.3.0 - - 2.4.0-আলফা01

নির্ভরতা ঘোষণা করা

পরীক্ষার উপর নির্ভরতা যোগ করতে, আপনাকে অবশ্যই আপনার প্রকল্পে Google Maven সংগ্রহস্থল যোগ করতে হবে। আরও তথ্যের জন্য Google এর Maven সংগ্রহস্থল পড়ুন।

আপনার অ্যাপ বা মডিউলের জন্য 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")
}

নির্ভরতা সম্পর্কে আরও তথ্যের জন্য, বিল্ড নির্ভরতা যুক্ত করুন দেখুন।

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 2.4

সংস্করণ 2.4.0-alpha01

জুন 26, 2024

androidx.test.uiautomator:uiautomator:2.4.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 2.4.0-alpha01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • অপ্রচলিত Configurator#getKeyInjectionDelay এবং setKeyInjectionDelay যেহেতু প্যারামিটারটি এখন অব্যবহৃত তাই টেক্সট সবসময় কী প্রেসের পরিবর্তে সরাসরি ইনজেকশন করা হয়। ( I3bcc5 )।

বাগ ফিক্স

  • গতিশীল রিফ্রেশ হার (যেমন স্মুথ ডিসপ্লে) ( I43f12 ) এর জন্য অ্যাকাউন্টে UiObject2 মোশন ইভেন্টগুলির মধ্যে বিলম্ব আপডেট করা হয়েছে।
  • নির্দিষ্ট UI-তে অ্যাক্সেসিবিলিটি ক্যাশে ( I3be25 ) অকার্যকর করার মাধ্যমে অ্যাক্সেসিবিলিটি নোডের অচলতা থেকে ফ্লাকনেস হ্রাস করা হয়েছে।
  • একটি বাসি UiObject2toString বা hashCode কল করার সময় স্থির StaleObjectException গুলি ঘটে। ( I38ea1 )।
  • অপ্রয়োজনীয় waitForIdle কলগুলি এড়িয়ে যাওয়ার মাধ্যমে উন্নত UiWatcher কর্মক্ষমতা। ( I8c65e )।
  • জাভাডোকের ভুলত্রুটি স্থির করা হয়েছে, বিশেষ করে যখন প্রতিটি Configurator প্যারামিটার ব্যবহার করা হয় তখন স্পষ্ট করার জন্য। ( Ie10b1 , I71631 )।

সংস্করণ 2.3.0

সংস্করণ 2.3.0

21 ফেব্রুয়ারি, 2024

androidx.test.uiautomator:uiautomator:2.3.0 প্রকাশিত হয়েছে। সংস্করণ 2.3.0 এই কমিট ধারণ করে.

2.2.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • মাল্টি-ডিসপ্লে সমর্থন : একাধিক ডিসপ্লে জুড়ে অবজেক্ট খোঁজার এবং পরিচালনা করার জন্য সমর্থন যোগ করা হয়েছে এবং সেকেন্ডারি ডিসপ্লেগুলি পরিচালনা করার জন্য UiDevice পদ্ধতিগুলি ( Ie6544 , I912cd )।
  • নতুন নির্বাচক :
    • তাদের ডিসপ্লে আইডি ( I1825b ) দ্বারা বস্তু নির্বাচন করতে By.displayId যোগ করা হয়েছে।
    • তাদের পিতামাতার ( I93c36 ) অনুযায়ী বস্তু নির্বাচন করতে By.hasParent এবং By.hasAncestor যোগ করা হয়েছে।
    • তাদের ইঙ্গিত টেক্সট ( Idd345 ) দ্বারা বস্তু নির্বাচন করতে By.hint পদ্ধতি যোগ করা হয়েছে।
  • কাস্টম শর্ত : কাস্টম অপেক্ষার শর্তগুলিকে সমর্থন করার জন্য একটি 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-এ এই কমিট রয়েছে।

সংস্করণ 2.3.0-beta01

13 ডিসেম্বর, 2023

androidx.test.uiautomator:uiautomator:2.3.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-beta01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • সামঞ্জস্যের জন্য UiObject2 শতাংশ-ভিত্তিক মার্জিন পদ্ধতির নাম পরিবর্তন করে setGestureMarginPercentage এবং setGestureMarginsPercentage করা হয়েছে ( I24435 )

বাগ ফিক্স

  • একটি সেকেন্ডারি ডিসপ্লে পাওয়া না গেলে বা অ্যাক্সেসযোগ্য না হলে নিক্ষেপ করা ত্রুটির উন্নতি করা হয়েছে ( 116b23 )

সংস্করণ 2.3.0-alpha05

নভেম্বর 1, 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha05 প্রকাশিত হয়েছে। সংস্করণ 2.3.0-alpha05 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • অঙ্কন ক্রম (z-সূচক) তথ্য প্রকাশ করতে UiObject2#getDrawingOrder যোগ করা হয়েছে। ( 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 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • তাদের পিতামাতার ( I93c36 ) অনুযায়ী বস্তু খুঁজে পেতে সহায়তা করার জন্য By.hasParent এবং By.hasAncestor যোগ করা হয়েছে।
  • একটি অবজেক্টের ইঙ্গিত টেক্সট পুনরুদ্ধার করতে UiObject2#getHint যোগ করা হয়েছে, এবং তাদের ইঙ্গিত টেক্সট ( Idd345 ) অনুযায়ী বস্তু নির্বাচন করার জন্য By.hint পদ্ধতি।
  • তারা যে ডিসপ্লেতে রয়েছে ( I1825b ) সে অনুযায়ী বস্তু নির্বাচন করতে সহায়তা করতে By.displayId যোগ করা হয়েছে।
  • আইডি ( Ie6544 ) দ্বারা একটি প্রদর্শনের মাত্রা খুঁজে পেতে UiDevice#getDisplayHeight(int) এবং UiDevice#getDisplayWidth(int) পদ্ধতি যোগ করা হয়েছে।
  • পিছনের সামঞ্জস্যের জন্য wait(SearchCondition, long) এবং wait(UiObject2Condition, long) পদ্ধতিগুলি পুনরায় যোগ করা হয়েছে ( Iebfda )।
  • UiDevice#executeShellCommand সর্বজনীনে পরিবর্তন করা হয়েছে কিন্তু লুকানো পরিবর্তে নিরুৎসাহিত করা হয়েছে ( Ic48a1 )।

বাগ ফিক্স

  • গতির ( 678ca3 ) উপর অঙ্গভঙ্গি নির্ভুলতাকে অগ্রাধিকার দিয়ে flakiness কমাতে MotionEvent ইনজেকশন আপডেট করা হয়েছে।
  • কর্মক্ষমতা বাধা ( d17de3 ) সনাক্ত করতে সম্পদ ভারী পদ্ধতিতে ট্রেসিং যোগ করা হয়েছে।
  • একটি UiAutomation সংযোগ ( 048caf ) শুরু করার সময় একটি পুনরায় চেষ্টা করার প্রক্রিয়া যোগ করা হয়েছে।
  • UiDevice#dumpWindowHierarchy ( b725eb ) এ নাল নোড থেকে একটি সম্ভাব্য NPE স্থির করা হয়েছে।
  • ব্যক্তিগত ডিসপ্লেতে অনুসন্ধান বা অপারেটিং থেকে অপ্রত্যাশিত ত্রুটিগুলি সংশোধন করা হয়েছে ( 985db6 , 7053d4 )।

সংস্করণ 2.3.0-alpha03

এপ্রিল 19, 2023

androidx.test.uiautomator:uiautomator:2.3.0-alpha03 প্রকাশিত হয়েছে। 2.3.0-alpha03 সংস্করণে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • Until এ সম্পূর্ণরূপে বিল্ট-ইনগুলির উপর নির্ভর করার পরিবর্তে কাস্টম অপেক্ষার শর্তগুলিকে অনুমতি দেওয়ার জন্য একটি Condition ইন্টারফেস প্রকাশ করা হয়েছে এবং এই ইন্টারফেসটি ( 27c0ea ) গ্রহণ করার জন্য UiDevice#wait এবং UiObject2#wait পদ্ধতিগুলি আপডেট করা হয়েছে।
  • যোগ করা হয়েছে UiObject2#scrollUntil পর্যন্ত স্ক্রলিং সমর্থন করার জন্য একটি শর্ত পূরণ না হওয়া পর্যন্ত এবং UiScrollable ( 099d6e ) এর সাথে সমতা পৌঁছাতে।
  • ডিভাইসের ধরন জুড়ে ঘূর্ণন সহজতর করতে UiDevice#setOrientationPortrait এবং setOrientationLandscape যোগ করা হয়েছে ( e13cb7 )।
  • বস্তুর আকারের সাপেক্ষে সেটিং মার্জিন সমর্থন করতে UiObject2#setGestureMarginPercent যোগ করা হয়েছে। ( Ib8c77 )

বাগ ফিক্স

  • মাঝে মাঝে SDKs 18 থেকে 22 ( b53ece ) এ অবৈধ স্থানাঙ্ক ব্যবহার করে স্থায়ী UiScrollable পদ্ধতি।
  • স্থায়ী UiObject2#setText এবং clearText SDKs 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 এই কমিট ধারণ করে।

এপিআই পরিবর্তন

  • আরও তথ্য প্রদান করতে, সম্ভাব্য সমস্যা সম্পর্কে সতর্ক করতে, এবং সামঞ্জস্য উন্নত করতে লাইব্রেরি জুড়ে পুনরায় কাজ করা লগিং।
  • একসাথে একাধিক কী টিপে সমর্থন করার জন্য UiDevice#pressKeyCodes যোগ করা হয়েছে, যেমন একটি স্ক্রিনশট নেওয়ার জন্য POWER এবং VOLUME_DOWN টিপুন ( 22e525 )।
  • পদ্ধতির নামের ( 4e2f65 ) একটি টাইপো ঠিক করতে UiDevice#setCompressedLayoutHierarchy যোগ করা হয়েছে এবং UiDevice#setCompressedLayoutHeirarchy বাতিল করা হয়েছে।
  • UiAutomatorInstrumentationTestRunner অবচিত হিসাবে চিহ্নিত করা হয়েছে কারণ এটি অবহেলিত UiAutomatorTestCase গুলি পরিচালনা করে এবং এর আর প্রয়োজন নেই ( be6c85 )৷
  • ব্যবহারকারীর অঙ্গভঙ্গি আরও ভালভাবে অনুকরণ করতে UiObject2 MotionEvent s এর মধ্যে দ্বিগুণ ডিসপ্লে রিফ্রেশ হারে আপডেট করা বিলম্ব ( 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-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • সমস্ত পাবলিক পদ্ধতির শূন্যতা টীকা.
  • মসৃণ UiObject2 অঙ্গভঙ্গির জন্য অল্প বিলম্বের সাথে MotionEvent ইনজেকশনকে অ্যাসিঙ্ক্রোনাসে স্যুইচ করা হয়েছে।
  • 1000ms থেকে 100ms পর্যন্ত অপেক্ষা করার সময় ভোটগ্রহণের ব্যবধান হ্রাস করা হয়েছে৷
  • পাওয়ার বোতাম ওভাররাইড করে এমন ডিভাইসগুলিকে সমর্থন করতে KEYCODE_WAKEUP এবং KEYCODE_SLEEP ব্যবহার করতে UiDevice#wakeUp এবং UiDevice#sleep আপডেট করা হয়েছে।
  • যুক্ত করা হয়েছে UiObject2#getDisplayId এবং একাধিক ডিসপ্লে জুড়ে অবজেক্ট খুঁজে ও পরিচালনার জন্য সমর্থন।
  • স্থানাঙ্ক ব্যবহার করে একটি বিন্দুতে ক্লিক করার জন্য UiObject#click এবং UiObject2#clickAndWait পদ্ধতি যোগ করা হয়েছে।

বাগ ফিক্স

  • একটি সমস্যা সমাধান করা হয়েছে যেখানে ডিসপ্লে আকারের গণনাগুলি মাঝে মাঝে ভুল ছিল এবং স্ক্রিনের অংশগুলিকে উপেক্ষা করতে পারে, বিশেষত মাল্টি-উইন্ডো মোডে ( Ifc016c )৷
  • UiDevice#takeScreenshot ( Id80ad6 ) এ স্ক্রিনশটগুলির স্কেলিং ঠিক করা হয়েছে।
  • Until.scrollFinished এবং UiObject2#scroll ( I7b0595 ) এর নির্ভরযোগ্যতা উন্নত করা হয়েছে।
  • স্থির কঠোর মোড IncorrectContextUseViolation সতর্কতা ( Iffa6a0 )।