当前位置: 首页 > news >正文

网站平台建设的实训报告双鸭山网站开发

网站平台建设的实训报告,双鸭山网站开发,软件开发工程师面试,wordpress投稿功能项目背景与简介 EspressoSample项目位于GitHub上的circleci/EspressoSample仓库,该项目旨在展示如何在CircleCI平台上配置和使用Espresso进行Android应用的UI测试。 项目结构与环境准备 项目结构 EspressoSample项目遵循典型的Android项目结构,包含a…

项目背景与简介

EspressoSample项目位于GitHub上的circleci/EspressoSample仓库,该项目旨在展示如何在CircleCI平台上配置和使用Espresso进行Android应用的UI测试。

项目结构与环境准备

项目结构

EspressoSample项目遵循典型的Android项目结构,包含app模块用于存放应用代码,以及可能的测试模块。在app模块中,会找到src/main目录下的应用代码,以及src/testsrc/androidTest目录下的测试代码。

环境准备

在开始之前,确保已经安装了以下工具:

  • Android Studio:用于开发Android应用。
  • Git:用于版本控制和克隆项目仓库。
  • CircleCI CLI:用于在本地验证CircleCI配置文件。
  • JDK:Java开发工具包,用于编译Java代码。
  • Android SDK:Android软件开发工具包,包含构建和测试Android应用所需的工具和库。

CircleCI配置

创建CircleCI项目

首先,登录CircleCI平台,并创建一个新项目,关联到EspressoSample GitHub仓库。CircleCI会自动检测仓库中的.circleci/config.yml文件,该文件定义了项目的构建和测试流程。

配置.circleci/config.yml

.circleci/config.yml文件:

version: 2.1
jobs:build:docker:- image: circleci/android:api-30environment:JVM_OPTS: "-Xmx3200m"steps:- checkout- restore_cache:key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}- run:name: Download Dependenciescommand: ./gradlew androidDependencies- save_cache:paths:- ~/.gradle/caches/key: jars-{{ checksum "build.gradle" }}-{{ checksum  "app/build.gradle" }}- run:name: Assemble Debug APKcommand: ./gradlew assembleDebug- run:name: Run Espresso Testscommand: ./gradlew connectedAndroidTestenvironment:TERM: dumbpost-steps:- store_artifacts:path: app/build/reports/androidTests/connected/
workflows:version: 2build_and_test:jobs:- build

在这个配置文件中,定义了一个名为build的工作流,包含以下步骤:

  1. Checkout:检出代码仓库。
  2. Restore Cache:恢复之前构建的依赖缓存,以加快构建速度。
  3. Download Dependencies:下载项目依赖。
  4. Save Cache:保存当前构建的依赖缓存,供后续构建使用。
  5. Assemble Debug APK:构建Debug版本的APK。
  6. Run Espresso Tests:运行Espresso测试,并通过设置TERM环境变量为dumb来改善Gradle命令行输出。
  7. Store Artifacts:存储测试报告,以便在CircleCI平台上查看。

Espresso测试代码示例

添加Espresso依赖

app/build.gradle文件中,添加Espresso测试库的依赖:

androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test:rules:1.4.0'

编写Espresso测试

app/src/androidTest/java/com/example/espressosample目录下,创建一个测试类,如MainActivityTest.java,并编写测试代码:

import androidx.test.ext.junit.runners.AndroidJUnit4;
import androidx.test.rule.ActivityTestRule;
import androidx.test.espresso.Espresso;
import androidx.test.espresso.action.ViewActions;
import androidx.test.espresso.assertion.ViewAssertions;
import androidx.test.espresso.matcher.ViewMatchers;import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;@RunWith(AndroidJUnit4.class)
public class MainActivityTest {@Rulepublic ActivityTestRule<MainActivity> activityRule =new ActivityTestRule<>(MainActivity.class);@Testpublic void testLaunchActivity() {// 检查Activity是否已启动并显示特定文本Espresso.onView(ViewMatchers.withId(R.id.hello_world)).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));// 模拟点击按钮并验证结果Espresso.onView(ViewMatchers.withId(R.id.button)).perform(ViewActions.click());Espresso.onView(ViewMatchers.withText("Button Clicked!")).check(ViewAssertions.matches(ViewMatchers.isDisplayed()));}
}

在这个测试类中,使用了Espresso提供的API来定位UI元素、执行用户操作(如点击)以及验证UI状态。ActivityTestRule用于启动并管理被测Activity的生命周期。

运行与查看结果

在本地运行测试

在Android Studio中,您可以通过右键点击测试类或测试方法并选择“Run”来在本地运行Espresso测试。测试结果将显示在Android Studio的测试运行窗口中。

在CircleCI上运行测试

推送您的代码更改到GitHub仓库后,CircleCI将自动触发构建和测试流程。您可以在CircleCI平台上查看构建日志和测试结果。如果测试失败,CircleCI将提供详细的错误信息,帮助您定位并修复问题。

http://www.dtcms.com/a/610184.html

相关文章:

  • Dart语言之面向对象
  • Ubuntu 22.04双网口同时使用 MID360 雷达与上网的完整指南
  • 广东兰州企业网站排名优化
  • oh my zsh配置
  • 光电对抗——有源干扰:从原理到外场实验(续)
  • nn实践-使用nn搭建一个定时发送天气预报邮件的工作流
  • 网站优化公司方案门户导航网页模板
  • 加强网站建设 提升做网站前台需要什么技能
  • GMI Cloud@AI周报 | Kimi K2-Thinking突袭赶超;OpenAI发布GPT-5.1;豆包编程模型发布
  • 电流检测放大器IC 汽车前装无线充电模块应用 FP130A
  • 扣子——插件问题完整排查报告
  • 网站建设用户登录想招代理去什么网站
  • 广东省备案网站建设方案书外贸做的亚马逊网站是哪个
  • Linux互联网基础
  • 房建设计图网站网站建设目的主要包括哪些
  • 深入理解 Spring Boot 单元测试:从基础到最佳实践
  • react 封装弹框组件 传递数据
  • 宿州做网站安卓系统app
  • 用Maven的quickstart archetype创建项目并结合JUnit5单元测试
  • ELK Stack核心原理与运用要点解析
  • Spring前置准备(九)——Spring中的Bean类加载器
  • TDengine 字符串函数 LTRIM 用户手册
  • 【十一、Linux管理网络安全】
  • 免费的行情软件网站下载不用下载二字顺口名字公司
  • YOLOv5/8/9/10/11/12/13+oc-sort算法实现多目标跟踪
  • Android开发从零开始 - 第一章:Android概述与工程项目结构
  • Spring Boot 应用启动报错:FeignClientSpecification Bean 名称冲突解决方案
  • 个人网站建立平台俄罗斯军事基地
  • h5 建站网站 移动端大数据在营销中的应用
  • 基于RetinaNet的建筑设计师风格识别与分类研究_1