【您来了,感觉还不错的话,记得点个赞哦~】
1.UI测试框架使能:---开启
hdc_std shell param set persist.ace.testmode.enabled 1
本次测试基于api9完成,其他版本需要进一步调测是否可行。
【前提条件】
一、在进行自动化测试之前,需要先执行该命令。
UI测试框架使能命令: hdc shell param set persist.ace.testmode.enabled 1
【必用功能】
二、常用功能特性
1.Driver Ui测试的入口,提供查找控件,检查控件存在性以及注入按键能力。
2.On 用于目标控件特性(文本、id、类型等),Driver根据On描述的控件特性信息来查找控件。
3.Component Driver查找返回的控件对象,提供查询控件属性,滑动查找等触控和检视能力。
4.UiWindow Driver 查找返回的窗口对象,提供获取窗口属性、操作窗口的能力。
引入使用: import {ON,Driver, Component, MatchPattern} from '@ohos.UiTest';
测试用例中使用的常见属性
import { describe, beforeAll, beforeEach, afterEach, afterAll, it, expect } from '@ohos/hypium';
describe:用来定义一个测试套,支持两个参数:测试套名称、测试套函数
it:定义一条测试用例,支持三个参数:用例名称、过滤参数、和用例函数
【测试用例钩子函数】测试用例中钩子函数:
beforeAll
beforeEach
afterEach
afterAll
beforeSpecified
afterItSpecified
【获取当前测试用例信息】
获取测试用例的信息: getDescribeName:
获取当前正在执行测试套的名称 getItName:
获取当前正在执行测试用例的名称。 getItAttribute:
获取当前正在执行的测试用例的级别、粒度、测试类型。
【查找控件】
绝对定位:
1.通过id
let button:Component = await driver.findComponent(ON.id('xxxId'))
2.通过文本查找 其中包括四种匹配方式:
模糊匹配:MatchPattern.CONTAINS
精确查找(默认规则):MatchPattern.EQUALS
从开始匹配:MatchPattern.STARTS_WITH
从结束匹配:MatchPattern.ENDS_WITH
let txt:Component = await driver.findComponent(ON.text('hello',MatchPattern))
3.通过类型查找一类列表:查找的组件结果为列表,可通过数组形式的方式取值,索引方式。
let findComponentArr = await driver.findComponents(ON.type('Button'))
await result[4].click()
【操作事件】
点击 输入 滑动查找,并点击 滑动到顶部 滑动到底部
【获取控件内容】
通过查找的控件,获取控件信息常用命令:
1.获取控件文本 xxx.getText()
2.获取控件Id xxx.getId()
3.获取控件类型 xxx.getType()
4.获取控件使能状态 xxx.isEnabled()
【断言能力】
1.断言组件是否存在:
方式一: expect (component !== null).assertTrue()
方式二: 断言当前界面存在目标控件:
await driver.assertComponentExist(ON.text('hello'))
2.断言字符串是否包含
assertContain()
3.断言两个值是否相等
assertEqual()
4.断言a是否大于b
assertLarger()
5.断言a是否小于b
assertLess()
6.断言变量是否为null
assertNull()
7.断言变量是否是undefined
assertUndefined()
8.断言变量结果是否是false
assertFalse()
【额外可用功能】
截屏:screenCap(path)
补充:
【API】
1.清空文本框控件的文本信息
await textInput.clearText();
2.findComponents let result = driver.findComponents(ON.type('Image'))
得到的result是数组
【hdc相关命令】
2.启动应用 hdc shell aa start -a
#举个例子 hdc shell aa start -a PlayerAbility -b com.DefaultCompany.Sample
3.强制关闭 hdc shell aa force-stop
#举个例子 hdc shell aa force-stop com.DefaultCompany.sampleBundle