با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش برنامه نویسی اندروید را دنبال می کنند. فریم ورک Android شامل یک فریم ورک تست یکپارچه است که به شما کمک می کند همه جنبه های برنامه خود را تست کنید و ابزار SDK شامل ابزارهایی برای تنظیم و اجرای برنامه های تست است. این که آیا شما در Eclipse با ADT کار می کنید یا با خط فرمان کار می کنید، در هر صورت ابزار SDK به شما در تنظیم و تست کردن برنامه های اندروید خود در شبیه ساز یا دستگاه اندرویدی که استفاده می کنید، کمک می کند.
در این مبحث ما به ساختار و طرز استفاده از ابزار تست کردن برنامه های اندروید می پردازیم.
همچنین در ادامه ی آموزش به بررسی یک نمونه مثال از تست کردن برنامه های اندروید می پردازیم.
ابزار ساخت و تست اندروید فرض می کند که پروژه های تست در یک ساختار استاندارد از تست ها،کلاس ها و پکیج های تست و پروژه های تست سازماندهی شده است.
ابزارهای زیادی وجود دارد که می تواند برای آزمایش برنامه های اندروبد استفاده شود.
بعضی از این ابزارها نظیر Junit، Monkey رسمی هستند و بعضی از ابزارهای شخص ثالث هستند.
شما می توانید از یک کلاس JUnit TestCase برای انجام آزمایش واحد در یک کلاس استفاده کنید که API های Android را نمی خواند.
TestCase همچنین کلاس پایه AndroidTestCase است که شما می توانید از آن برای تست اشیا وابسته به Android استفاده کنید.
همچنین فریم ورک JUnit راه اندازی های خاص در اندروید و متدهای کمکی را ارائه می دهد.
ابتدا باید کلاس TestCase را extend کرده و متد setUp() را پیاده سازی کنید:
1 2 3 4 5 6 7 8 9 | public class MathTest extends TestCase { protected double fValue1; protected double fValue2; protected void setUp() { fValue1= 2.0; fValue2= 3.0; } } |
برای هر تست یک متد اجرا می شود که با آرشیو تعامل دارد.
نتایج مورد انتظار را با دستورات مشخص شده توسط call assertTrue (String، boolean)
با یک boolean مشخص کنید:
1 2 3 4 | public void testAdd() { double result= fValue1 + fValue2; assertTrue(result == 5.0); } |
متدهای تکرار مقایسه مقادیری را که از تست انتظار می رود به نتایج واقعی می رسانند و اگر در مقایسه با شکست مواجه شوند، یک خطا برمی گرداند.
هنگامی که متد ها تعریف می شود می توانید آنها را اجرا کنید:
1 2 | TestCase test= new MathTest("testAdd"); test.run(); |
Application Exerciser Monkey که Monkey نامیده می شود. ابزار خط فرمانی است که اعمال کلیدها ، لمس و حرکات را به یک دستگاه ارسال می کند.
که این ویژگی با ابزار adb اجرا می شود.
از این ویژگی برای تست اپلیکیشن و دریافت خطاهای احتمالی برنامه استفاده می شود.
Monkey ویژگی های زیادی دارد که همه ی آنها در چهار دسته ی زیر خلاصه می شوند:
برای استفاده از Monkey ، یک خط فرمان را باز کنید و فقط به دایرکتوری زیر بروید:
1 | android ->sdk ->platform-tools |
پس از ورود به دایرکتوری فوق، موبایل خود را به کامپیوتر متصل کرده و کد زیر را اجرا کنید:
1 | adb shell monkey -p your.package.name -v 500 |
دستور فوق را می توان در مراحل زیر تقسیم کرد:
شکل زیر دستور فوق را نشان می دهد:
در فرمان بالا، ابزار Monkey را در برنامه Uroid به طور پیش فرض آندروید اجرا می کنیم.
این نیز در شکل زیر نشان داده شده است. که شما با تایپ کردن این دستور، ۵۰۰ رویداد تصادفی برای تست خواهید داشت.
مثال زیر نشان دهنده طرز استفاده از تست در اندروید است. این یک برنامه ساده است که می تواند برای Monkey استفاده شود.
نکته : برای اجرای این مثال شما به یک دستگاه اندروید واقعی نیاز دارید.
مراحل انجام کار:
مراحل | توضیحات |
---|---|
۱ | مراحل ایجاد برنامه در اندروید استدیو را طبق بخش های قبلی تحت عنوان پکیج com.example.Pvlearn.myapplication دنبال کنید. |
۲ | کد Activity را به محتوای فایل src/MainActivity.java اضافه کنید. |
۳ | طراحی مناسب با این برنامه را به فایل res/layout/activity_main.xml اضافه کنید. |
۴ | فایل src/second.java را برای افزودن کدهای Activity ایجاد کنید. |
۵ | کمپوننت های مورد نیاز را به فایل res/layout/view.xml اضافه کنید. |
۶ | برنامه را اجرا کنید تا دستگاه اندروید شما نتیجه را نمایش دهد. |
محتوای فایل MainActivity.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package com.Pvlearn.myapplication; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { Button b1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); b1=(Button)findViewById(R.id.button); } public void button(View v){ Intent in =new Intent(MainActivity.this,second.class); startActivity(in); } } |
محتوای فایل second.java:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | package com.Pvlearn.myapplication; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class second extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.view); Button b1=(Button)findViewById(R.id.button2); b1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(second.this,"Thanks",Toast.LENGTH_SHORT).show(); } }); } } |
محتوای فایل activity_main.xml:
abc لوگوی pvlearn می باشد.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="UI Animator Viewer" android:id="@+id/textView" android:textSize="25sp" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Pvlearn" android:id="@+id/textView2" android:layout_below="@+id/textView" android:layout_alignRight="@+id/textView" android:layout_alignEnd="@+id/textView" android:textColor="#ff36ff15" android:textIsSelectable="false" android:textSize="35dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/imageView" android:src="@drawable/abc" android:layout_below="@+id/textView2" android:layout_centerHorizontal="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Button" android:onClick="button" android:id="@+id/button" android:layout_below="@+id/imageView" android:layout_centerHorizontal="true" android:layout_marginTop="100dp" /> </RelativeLayout> |
محتوای فایل view.xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" android:id="@+id/button2" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text=" Pvlearn " android:id="@+id/textView3" android:textColor="#ff3aff22" android:textSize="35dp" android:layout_above="@+id/button2" android:layout_centerHorizontal="true" android:layout_marginBottom="90dp" /> </RelativeLayout> |
محتوای فایل AndroidManifest.xml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.tutorialspoint.myapplication" > <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".second"></activity> </application> </manifest> |
برای اجرای برنامه ی اندرویدی خود یکی از فایل های activity در برنامه ی خود کلیک کنید.
سپس روی نماد (Run) از نوار ابزار برای شروع اجرای برنامه کلیک کنید.
سپس پنجره ای برای انتخاب بین دستگاه اندروید شما و شبیه ساز اندروید ظاهر خواهد شد:
از پنجره ی فوق دستگاه موبایل خود را انتخاب کرده روی ok کلیک کنید.
سپس مراحل ذکر شده ی فوق را در که در بخش Monkey اشاره شد در صفحه موبایل خود انجام دهید.
اندروید ابزارهای پرکاربردی را برای تست برنامه ها و خطایابی آن ها ارائه می دهد که یکی از مهم ترین آن ها ابزار Monkey است که استفاده از آن در تست کردن برنامه های اندروید رواج دارد.
در بخش بعدی به ویژگی متن به گفتار در برنامه نویسی اندروید می پردازیم.