鸿蒙应用示例:DevEco Testing 工具的常用功能及使用场景

DevEco Studio 是鸿蒙生态中的集成开发环境(IDE),而 DevEco Testing 工具则是专门用于测试鸿蒙应用的强大工具。本文将详细介绍 DevEco Testing 中几个常用的测试功能及其使用场景,并给出相应的代码示例。

【1】安装应用

使用场景:在鸿蒙系统中,测试包不能像安卓那样直接发送给其他人进行安装测试。开发者需要将 .hap 测试包提供给测试人员,并指导他们通过 DevEco Testing 工具进行安装。这种方法特别适用于开发团队与测试团队不在同一个地理位置的情况。

操作步骤:

  1. 将测试手机通过数据线连接至电脑。
  2. 打开 DevEco Testing 工具。
  3. 依次选择 "实用工具" -> "设备投屏" -> "安装应用"。
  4. 选择对应的 .hap 包进行安装。

注意事项:

• 生成 .hap 和 .app 包的目录位置不同:

• .hap 目录:项目根目录 /entry/build/default/outputs/default/entry-default-signed.hap

• .app 目录:项目根目录 /build/outputs/default/项目名称-default-signed.app

• .app 包只能使用生产证书,且仅用于发布到应用商店,无法通过 hdc 命令或者 DevEco Testing 进行安装。

【2】获取设备信息

使用场景:在测试过程中,当发现应用出现问题时,测试人员可以通过 DevEco Testing 工具获取设备信息,并将其发送给开发人员以协助排查问题。

代码示例:

js 复制代码
import { deviceInfo } from '@kit.BasicServicesKit';
import { display } from '@kit.ArkUI';

@Entry
@Component
struct Page05 {
  build() {
    Column() {
      Button('测试').onClick(() => {
        if (canIUse('SystemCapability.Startup.SystemInfo')) {
          //需要添加权限 ohos.permission.sec.ACCESS_UDID ,但普通app没这个权限,所以代码没办法获取到udid
          //这个权限可以获取 udid 和 SN (Serial Number) (序列号)
          // udid格式 00008020-001D31FF0A8A
          // SN格式 A1B2C3D4E5F6G7H8 【序列号可能包含的信息有生产日期、制造地点等,具体取决于制造商的设计标准。】
          // console.info(`设备udid : ${deviceInfo.udid ? deviceInfo.udid : '-'}`); //获取不到时展示-
          console.info(`设备标识 : ${deviceInfo.serial || '-'}`); //为空字符串或其他"假"值时,输出 '-'。
        } else {
          console.info('设备标识 : -');
        }

        let marketNameInfo: string = deviceInfo.marketName;
        console.info('设备名称 : ' + marketNameInfo || '-');

        let productModelInfo: string = deviceInfo.productModel;
        console.info('设备型号 : ' + productModelInfo || '-');

        let displayVersionInfo: string = deviceInfo.displayVersion;
        console.info('系统版本 : ' + displayVersionInfo || '-');

        /*
        常见的 ABI标识符:
        * 32位ARM架构: armeabi-v7a
        * 64位ARM架构: arm64-v8a
        * 32位x86架构: x86
        * 64位x86架构: x86_64
        * MIPS架构: mips, mips64
         * */
        //
        let abiListInfo: string = deviceInfo.abiList;
        if (abiListInfo == 'arm64-v8a' || abiListInfo == 'x86_64') {
          console.info('版本位数 : ' + 64 + '位');
        } else if (abiListInfo == 'armeabi-v7a' || abiListInfo == 'x86') {
          console.info('版本位数 : ' + 32 + '位');
        } else {
          console.info('版本位数 : ' + '-');
        }

        let sdkApiVersionInfo: number = deviceInfo.sdkApiVersion;
        console.info('API版本 : ' + sdkApiVersionInfo || '-');

        console.info('CPU类型 : ' + '-') //没查到相关api

        console.info('CPU架构 : ' + abiListInfo || '-')

        console.info('CPU核数 : ' + '-') //没查到相关api

        console.info('GPU类型 : ' + '-') //没查到相关api

        console.info('内存大小 : ' + '-') //没查到相关api

        let width = display.getDefaultDisplaySync().width
        let height = display.getDefaultDisplaySync().height
        console.info('屏幕尺寸 : ' + width + ' x ' + height) //单位px
      })
    }
    .height('100%')
    .width('100%')
  }
}

打印示例:

js 复制代码
设备标识 : -
设备名称 : HUAWEI Mate 60 Pro
设备型号 : ALN-AL80
系统版本 : ALN-AL80 5.0.0.68(SP7C00E68R4P9log)
版本位数 : 64位
API版本 : 13
CPU类型 : -
CPU架构 : arm64-v8a
CPU核数 : -
GPU类型 : -
内存大小 : -
屏幕尺寸 : 1260 x 2720

【3】获取应用信息并启动应用

使用场景:当需要在鸿蒙应用中调用另一个应用的功能时,可以利用 DevEco Testing 工具获取目标应用的相关信息,并通过代码启动该应用。

比如想要跳转到手机的微博, 就可以看到两个跳转时的重要信息:

包名称 : com.sina.weibo.stage和主Ability : EntryAbility。

代码示例:

js 复制代码
import { common, Want } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';

@Entry
@Component
struct Page06 {
  build() {
    Column() {
      Button('启动微博').onClick(() => {
        let want: Want = {
          bundleName: 'com.sina.weibo.stage',
          abilityName: 'EntryAbility'
        };
        (getContext(this) as common.UIAbilityContext).startAbility(want).then(() => {
          console.info('启动微博成功');
        }).catch((err: BusinessError) => {
          console.error(`启动微博失败: ${err.message}`);
        });
      })
    }
    .width('100%')
    .height('100%')
  }
}

【4】支持hdc命令

参考官方文档:developer.huawei.com/consumer/cn...

结论

通过 DevEco Testing 工具,开发者可以在测试过程中更加便捷地安装应用、获取设备信息以及启动其他应用。这些功能不仅提高了测试效率,还使得团队协作更加顺畅。对于鸿蒙应用开发者来说,熟悉并掌握这些工具的使用方法是非常重要的。

相关推荐
SameX22 分钟前
HarmonyOS Next 安全生态构建与展望
前端·harmonyos
Random_index8 小时前
#Uniapp篇:支持纯血鸿蒙&发布&适配&UIUI
uni-app·harmonyos
鸿蒙自习室11 小时前
鸿蒙多线程开发——线程间数据通信对象02
ui·harmonyos·鸿蒙
SuperHeroWu714 小时前
【HarmonyOS】鸿蒙应用接入微博分享
华为·harmonyos·鸿蒙·微博·微博分享·微博sdk集成·sdk集成
zhangjr057516 小时前
【HarmonyOS Next】鸿蒙实用装饰器一览(一)
前端·harmonyos·arkts
诗歌难吟4641 天前
初识ArkUI
harmonyos
SameX1 天前
HarmonyOS Next 设备安全特性深度剖析学习
harmonyos
郭梧悠1 天前
HarmonyOS(57) UI性能优化
ui·性能优化·harmonyos
郝晨妤1 天前
鸿蒙原生应用开发元服务 元服务是什么?和App的关系?(保姆级步骤)
android·ios·华为od·华为·华为云·harmonyos·鸿蒙
Peace*1 天前
HarmonyOs鸿蒙开发实战(16)=>沉浸式效果第一种方案一窗口全屏布局方案
harmonyos·鸿蒙·鸿蒙系统