• Lv0
    粉丝5

积分223 / 贡献20

提问1答案被采纳0文章7

[经验分享] DevEco Testing使用入门

kenneth 显示全部楼层 发表于 2023-11-2 08:54:38

DevEco Testing使用入门

DevEco Testing简介

DevEco Testing是OpenHarmony生态整机测试能力中心,为生态合作伙伴接入OpenHarmony生态提供专业测试服务。支持的测试类型包含:稳定性测试、安全测试、性能功耗测试、音视频测试、兼容性测试、分布式测试等,还提供了一些实用工具,比如UI Viewer、设备投屏、Trace解析等。

DevEco Testing安装

访问DevEco Testing网站,点击客户端下载,选择DevEco Testing for Device工具下载即可。按照安装向导完成安装。 1.png

下文主要介绍下实用的工具UI Viewer。

UI Viewer工具

UI Viewer工具介绍

实用UI Viewer工具,可以获取页面的DOM树,方便编写自动化测试用例。可以从实用工具中找到UI Viewer的入口,如图: 2.png

UI Viewer可以获取应用的界面组件的坐标,组件id,text等各种属性信息,可以用于UI自动化测试。

进入UI Viewer,设备连接到电脑上,选择连接的设备SN。启动需要测试的应用,进入需要自动化测试的页面,在工具上点击相应的组件,即可在右侧显示该组件的属性信息。如下图,Calculate By Tasktoop按钮的被点击的这个点的坐标为[722,1497]。 3.png

使用命令uinput模拟屏幕触摸

上文获取了界面上按钮上的一个坐标点,通过点击这个点就可以触发按钮的点击事件。那么,如何使用命令来模拟触发这次点击呢?

我们可以使用uinput命令,对于上述问题,完整的命令如下:

hdc shell uinput -T -c 722 1497 450

其中,-T表示touch屏幕触摸,-c表示click点击。uinput支持鼠标输入、键盘输入、触摸输入、指关节输入更多信息请参考命令行uinput的帮助信息,如下:

# uinput --help
Usage: uinput <option> <command> <arg>...
The option are:
-M  --mouse
commands for mouse:
-m <dx> <dy>              --move   <dx> <dy>  -move to relative position (dx,dy),
   <dx1> <dy1> <dx2> <dy2> [smooth time] --trace -dx1 dy1 to dx2 dy2 smooth movement
-d <key>                  --down   key        -press down a button,
                                               0 is the left button, 1 is the right,
                                               2 is the middle
-u <key>                  --up     <key>      -release a button
-c <key>                  --click  <key>      -press the left button down,then raise
-b <dx1> <dy1> <id> [press time] [click interval time]                --double click
  [press time] the time range is more than 1ms but less than 300ms,
  [click interval time] the time range is more than 1ms but less than 450ms,
  Otherwise the operation result may produce error or invalid operation
 -press the left button down,then raise
   key value:0 - button left
   key value:1 - button right
   key value:2 - button middle
   key value:3 - button side
   key value:4 - button extra
   key value:5 - button forward
   key value:6 - button back
   key value:7 - button task
-s <key>                  --scroll <key>      -positive values are sliding backwards
-g <dx1> <dy1> <dx2> <dy2> [total time]       --drag <dx1> <dy1> <dx2> <dy2> [total time],
                                              dx1 dy1 to dx2 dy2 smooth drag
-i <time>                 --interval <time>   -the program interval for the (time) milliseconds
                                               negative values are sliding forwards

-K  --keyboard
commands for keyboard:
-d <key>                   --down   <key>     -press down a key
-u <key>                   --up     <key>     -release a key
-l <key> [long press time] --long_press <key> [long press time] -press and hold the key
-i <time>                  --interval <time>  -the program interval for the (time) milliseconds

-T  --touch
commands for touch:
-d <dx1> <dy1>             --down   <dx1> <dy1> -press down a position  dx1 dy1,
-u <dx1> <dy1>             --up     <dx1> <dy1> -release a position dx1 dy1,
-m <dx1> <dy1> <dx2> <dy2> [smooth time]      --smooth movement
   <dx1> <dy1> <dx2> <dy2> [smooth time]      -smooth movement,
                                              dx1 dy1 to dx2 dy2 smooth movement
-c <dx1> <dy1> [click interval]               -touch screen click dx1 dy1
-k --knuckle
commands for knucle:
-s <dx1> <dy1> <dx2> <dy2> [interval time]  --single knuckle double click interval time
-d <dx1> <dy1> <dx2> <dy2> [interval time]  --double knuckle double click interval time
-i <time>                  --interval <time>  -the program interval for the (time) milliseconds
-g <dx1> <dy1> <dx2> <dy2> [press time] [total time]     -drag,
  [Press time] not less than 500ms and [total time] - [Press time] not less than 500ms
  Otherwise the operation result may produce error or invalid operation

-?  --help

参考资料

DevEco Testing

©著作权归作者所有,转载或内容合作请联系作者

您尚未登录,无法参与评论,登录后可以:
参与开源共建问题交流
认同或收藏高质量问答
获取积分成为开源共建先驱

Copyright   ©2023  OpenHarmony开发者论坛  京ICP备2020036654号-3 |技术支持 Discuz!

返回顶部