摘要:编码为添加交互编写测试在包中新建测试类进行测试测试文件上点右键测试就可以了。稍后会看到手机自动运行,并按照测试代码中写的进行自动测试。
目录
单元测试
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,并按照测试代码中写的进行自动测试。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/8705.html
阅读 1787·2023-04-26 00:59
阅读 3098·2021-11-15 18:10
阅读 3024·2021-09-22 16:02
阅读 739·2021-09-02 15:15
阅读 3683·2019-08-30 15:56
阅读 1885·2019-08-30 15:54
阅读 2785·2019-08-29 16:31
阅读 1987·2019-08-29 16:10