摘要:編碼為添加交互編寫測試在包中新建測試類進行測試測試文件上點右鍵測試就可以了。稍后會看到手機自動運行,并按照測試代碼中寫的進行自動測試。
目錄
單元測試
UI 測試
原文鏈接: Unit and UI Testing in Android Studio
2. UI 測試配置
編碼
測試
2.1 配置 2.1.1 IDE 配置
Build Variants => Test Artifact => Android Instrumentation Tests
2.1.2 build.gradle
apply plugin: "com.android.application" android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.example.testing.testingexample" minSdkVersion 15 targetSdkVersion 22 versionCode 1 versionName "1.0" //ADD THIS LINE: testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" } } //ADD THESE LINES: packagingOptions { exclude "LICENSE.txt" } } dependencies { compile fileTree(dir: "libs", include: ["*.jar"]) compile "com.android.support:appcompat-v7:22.0.0" //← MAKE SURE IT’S 22.0.0 testCompile "junit:junit:4.12" //ADD THESE LINES: androidTestCompile "com.android.support.test:runner:0.2" androidTestCompile "com.android.support.test:rules:0.2" androidTestCompile "com.android.support.test.espresso:espresso-core:2.1" }
2.2 編碼重要:由于一些依賴版本沖突,你需要確認com.android.support:appcompat-v7庫的版本號是22.0.0,像上面的代碼片段一樣。
activity_main.xml
MainActivity.java
public void sayHello(View v){ TextView textView = (TextView) findViewById(R.id.textView); EditText editText = (EditText) findViewById(R.id.editText); textView.setText("Hello, " + editText.getText().toString() + "!"); }
在 androidTest 包中新建測試類
MainActivityInstrumentationTest.java
import android.support.test.InstrumentationRegistry; import android.support.test.espresso.action.ViewActions; import android.support.test.rule.ActivityTestRule; import android.support.test.runner.AndroidJUnit4; import android.test.ActivityInstrumentationTestCase2; import android.test.suitebuilder.annotation.LargeTest; import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import static android.support.test.espresso.Espresso.onView; import static android.support.test.espresso.action.ViewActions.click; import static android.support.test.espresso.action.ViewActions.closeSoftKeyboard; import static android.support.test.espresso.action.ViewActions.typeText; import static android.support.test.espresso.assertion.ViewAssertions.matches; import static android.support.test.espresso.matcher.ViewMatchers.withId; import static android.support.test.espresso.matcher.ViewMatchers.withText; @RunWith(AndroidJUnit4.class) @LargeTest public class MainActivityInstrumentationTest { private static final String STRING_TO_BE_TYPED = "Peter"; @Rule public ActivityTestRule2.3 進行測試mActivityRule = new ActivityTestRule<>( MainActivity.class); @Test public void sayHello(){ onView(withId(R.id.editText)).perform(typeText(STRING_TO_BE_TYPED), closeSoftKeyboard()); //line 1 onView(withText("Say hello!")).perform(click()); //line 2 String expectedText = "Hello, " + STRING_TO_BE_TYPED + "!"; onView(withId(R.id.textView)).check(matches(withText(expectedText))); //line 3 } }
測試文件上點右鍵 Run 測試就可以了。
稍后會看到手機自動運行 app,并按照測試代碼中寫的進行自動測試。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/8705.html
閱讀 1829·2023-04-26 00:59
閱讀 3130·2021-11-15 18:10
閱讀 3072·2021-09-22 16:02
閱讀 766·2021-09-02 15:15
閱讀 3716·2019-08-30 15:56
閱讀 1917·2019-08-30 15:54
閱讀 2858·2019-08-29 16:31
閱讀 2035·2019-08-29 16:10