#### 需求

1. 以录音机为例，编写自动化测试代码
2. 测试结果输出为markdown文档

#### 创建测试工程

1. 打开AndroidStudio，点击“Start a new Android Studio project”。

2. 选择“Add No Activity”，点击“Next”。

3. 其它自填，Minimum API level选“API 26”，点击“Finish”。

4. 编辑app/build.gradle，在dependencies段添加uiautomator库的支持

   `androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.1'`，然后gradle sync。

#### 编写测试代码

1. 在androidTest下创建测试代码

2. 要在类定义前添加`@RunWith(AndroidJUnit4.class)`

3. 要在类定义内添加`@Test`

4. 创建文件需要在`sc/main/AndroidManifest.xml`文件里申请权限。

   ```xml
   <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
   <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
   ```

   

#### 附：Gradle教程

##### app/build.gradle

app这个Module的配置文件，也是整个项目最主要的配置文件。

- apply plugin行，声明这是一个Android程序

- compileSdkVersion行，编译SDK的版本

- defaultConfig

  applicationId行，应用的包名

- buildTypes, release

  minifyEnabled行，是否进行混淆

  proguardFiles行，混淆文件的位置

- implementation fileTree行，编译libs目录下的所有jar包

##### gradle/wrapper

- gradle-wrapper.properties：声明了gradle的目录及当前项目使用的版本

##### build.gradle

整个项目的gradle基础配置文件，作用于所有的子项目和Modules。

- 声明仓库的源为google和jcenter
- 声明gradle的版本
- 创建了一个clean任务

##### settings.gradle

全局的项目配置文件，声明一些需要加入gradle的module