域名命名网站,有哪些做淘宝素材的网站,电脑上如何做网站,在一个网站上面发布广告怎么做1、测试框架选择
hdc#xff1a;类似 android 系统的 adb 命令#xff0c;提供设备信息查询#xff0c;包管理#xff0c;调试相关的命令ohos.UiTest#xff1a;鸿蒙 sdk 的一部分#xff0c;类似 android sdk 里的uiautomator#xff0c;基于 Accessibility 服务…1、测试框架选择
hdc类似 android 系统的 adb 命令提供设备信息查询包管理调试相关的命令ohos.UiTest鸿蒙 sdk 的一部分类似 android sdk 里的uiautomator基于 Accessibility 服务提供模拟 UI 操作的能力。但是需要用arkTS语言来写自动化 case并且用例需要打包到被测 app 里面hypium鸿蒙官方的自动化框架功能比较完善可以基于 python 编写自动化 case hmdriver2 一个鸿蒙自动化测试py库安装方便语法简洁
鸿蒙自动化测试的 文档中心 文档中心hmdriver2 文档https://github.com/codematrixer/hmdriver2
查看了文档后发现hypium是官方的自动化框架但是安装环境比较复杂并且他是一整套的测试框架包括了用例套件的管理与执行等算是比较重量级的。
hmdriver2是一个轻量级的库流程等都不复杂先体验一下这个
2、环境配置
配置鸿蒙HDC环境等价于 android 端的 adb 下载 Command Line Tools 并解压hdc文件在command-line-tools/sdk/HarmonyOS-NEXT-DB2/openharmony/toolchains目录下配置环境变量macOS 为例在~/.bash_profile 或者 ~/.zshrc 文件中添加
export HM_SDK_HOME/Users/develop/command-line-tools/sdk/HarmonyOS-NEXT-DB2 //请以sdk实际安装目录为准
export PATH$PATH:$HM_SDK_HOME/hms/toolchains:$HM_SDK_HOME/openharmony/toolchains
export HDC_SERVER_PORT7035电脑插上手机开启 USB 调试确保执行hdc list targets 可以看到设备序列号 hdc常用命令 文档中心
2、安装hmdirver2 基础库
pip3 install -U hmdriver2如果需要使用屏幕录屏 功能则需要安装额外依赖opencv-python
pip3 install -U hmdriver2[opencv-python]
// 由于opencv-python比较大因此没有写入到主依赖中按需安装3、代码编写
导入包后就可以连接设备启动app,当前以安居客发布为例
from hmdriver2.driver import Driverd Driver(FMR0223C13000076)
d.start_app(com.anjuke.home, EntryAbility)
然后就可以进行元素定位和操作
元素定位支持
控件查找联合查找模糊查找相对查找控件信息获取控件点击长按拖拽缩放文本输入清除获取控件树
控件查找支持这些by属性
idkeytexttypedescriptionclickablelongClickablescrollableenabledfocusedselectedcheckedcheckableisBeforeisAfter
定位方式包括普通定位模糊定位相当定位
d(texttab_recrod)d(iddrag)# 定位所有type为Button的元素选中第0个
d(typeButton, index0)# 定位type为Button且text为tab_recrod的元素
d(typeButton, texttab_recrod)# 定位text为showToast的元素的前面一个元素
d(textshowToast, isAfterTrue) # 定位id为drag的元素的后面一个元素
d(iddrag, isBeforeTrue)元素操作与信息获取
d(texttab_recrod).info# output:
{id: ,key: ,type: Button,text: tab_recrod,description: ,isSelected: False,isChecked: False,isEnabled: True,isFocused: False,isCheckable: False,isClickable: True,isLongClickable: False,isScrollable: False,bounds: {left: 539,top: 1282,right: 832,bottom: 1412},boundsCenter: {x: 685,y: 1347}
}d(texttab_recrod).click()
d(typeButton, texttab_recrod).click()d(texttab_recrod).click_if_exists()d(texttab_recrod).double_click()
d(texttab_recrod).long_click()# 控件拖拽
componentB: ComponentData d(typeListItem, index1).find_component()
d(typeListItem).drag_to(componentB) # 将元素拖动到元素B上# 控件缩放
d(texttab_recrod).pinch_in(scale0.5)
d(texttab_recrod).pinch_out(scale2)
更多操作请看详细文档https://github.com/codematrixer/hmdriver2或hmdriver2 发布开启鸿蒙 NEXT 自动化新时代 · 测试之家
另外元素查找可使用 uiviewer工具
安装 pip3 install -U uiviewer
启动 python3 -m uiviewer
打开页面选择设备点击connect连接设备
可查看ui树定位元素复制xpath或者rect元素在屏幕位置
点击dump hierarchy刷新页面 小demo
from hmdriver2.driver import Driverd Driver(FMR0223C13000076)
d.start_app(com.anjuke.home, EntryAbility)
d(text租房, index0).click()
for i in range(5):d.swipe(0.5, 0.7, 0.5, 0.5, speed2000)
d.go_home()
实际可以结合pytest等框架进行用例管理报告输出等 鸿蒙自动化视频