প্রোগ্রামযুক্তভাবে এটি করার প্রস্তাবিত উপায় কী?
adb shell pm clear packageপরীক্ষার আগে এডিবি কমান্ড চালানো একমাত্র সম্ভাব্য বিকল্প । সবচেয়ে বড় সমস্যাটি হ'ল এটি একধরণের মাথাব্যথা যা পরীক্ষার সম্পাদনা এবং শেল কমান্ডগুলির সংমিশ্রণ করে।
যাইহোক, আমরা (মিডিয়াফেতে) এমন কিছু সমাধান নিয়ে এসেছি যা নিয়মিত আনরোটেড ডিভাইসে আপনার পক্ষে কাজ করতে পারে। আপনাকে যা করতে হবে তা হ'ল একটি টীকা যুক্ত করা। বাকি সমস্তগুলি সরল বাশ স্ক্রিপ্ট চালিয়ে করা হয় ।
@ClearDataআপনার পরীক্ষাগুলি এবং টাদা of এর আগে কেবল টীকা যুক্ত করুন, পরীক্ষার কার্যকর হওয়ার আগে এডিবি ক্লিয়ার কমান্ড কার্যকর করা হবে।
এটি এই জাতীয় পরীক্ষার উদাহরণ:
@Test
@ClearData
public void someTest() {
// your test
}
নিম্নরূপ ধারণা
- ব্যবহার করে সমস্ত পরীক্ষা পড়ুন
adb shell am instrument -e log true
- (1) থেকে আউটপুটকে বিশ্লেষণ করে কার্যকরকরণ পরিকল্পনা তৈরি করুন
- এক্সিকিউশন প্ল্যান লাইনে চালাও
একই ধারণাটি ব্যবহার করা হ'ল এই সমস্ত বিকল্প যা আপনি সহজেই সমর্থন করতে পারেন:
- উপাত্ত মুছে ফেল
- বিজ্ঞপ্তি বার সাফ করুন
- Parameterize
- ফিল্টার এবং ট্যাগ দ্বারা চালিত
কেবল টীকা ব্যবহার করুন। এটার মত:
@Test
@ClearData
@Tags(tags = {"sanity", "medium"})
@Parameterized.Repeat(count = 3)
public void myTest() throws Exception {
String param = params[index];
// ...
}
বোনাস! Failed প্রতিটি ব্যর্থ পরীক্ষার জন্য:
- লোগক্যাট + স্ট্যাকট্রেস সংগ্রহ করুন
- রেকর্ড ভিডিও (এমপি 4)
- ডাম্প ডিবি (স্ক্লাইট)
- ডিফল্ট ভাগ করা পছন্দসই পছন্দগুলি (এক্সএমএল)
- ডাম্পসিস ফাইলগুলি সংগ্রহ করুন: ব্যাটারি, নেটস্ট্যাটস এবং অন্যান্য।
সাধারণভাবে, আরও বিকল্প যুক্ত করা সহজ, যেহেতু গ্রেড টাস্কের পরিবর্তে পরীক্ষাগুলি একের পর এক ব্যাশ স্ক্রিপ্ট থেকে কার্যকর করা হয়।
Blog সম্পূর্ণ ব্লগ পোস্ট : https://medium.com/medisafe-tech-blog/running-android-ui-tests-53e85e5c8da8
Examples উদাহরণ সহ উত্স কোড : https://github.com/medisafe/run-android-tests
আশা করি এই উত্তরটি 6 বছরের প্রশ্ন;)