1.获取页面元素
page.$(selector:string):promise
参数说明:
-》【selector】string类型,必填,为选择器
//创建page对象
const page = await program.currentPage()
//获取元素对象
const element = await page.$('元素名称')
//打印元素标签
console.log(element.tagName)
//【输出内容详见下图】
2.获取页面元素数组
page.$$(selector:string):promise<element[]>
参数说明:
【selector】string类型,必填,为选择器
//创建page对象
const page = await program.currentPage()
//获取元素对象
const elementList = await page.$$('元素名称')
//打印元素标签
console.log(elementList.length)
//对获取的元素做遍历
elementList forEarch(element =>{
console.log(element,"得到遍历出来的内容")
})
3.等待指定条件成立
page.waitFor(condition:string|number|function):promise
参数说明:
【string】该参数会被当做选择器,当选择器选中元素个数不为0时,结束等待
【number】该参数被当做超时时长,当经过指定时间后,结束等待
【function】该参数被当做断言函数,当函数返回真值时,结束等待
注!每个参数都为必填
const page = await program.currentPage()
await page.waitFor(5000) // 等待 5 秒
await page.waitFor('picker') // 等待页面中出现 picker 元素
await page.waitFor(async () => {
return (await page.$$('picker')).length > 5
}) // 等待页面中 picker 元素数量大于 5
此示例进行演示等待5秒执行的内容:
4.获取页面渲染数据
page.data(path?string):Promise
参数说明:
【path】string类型,非必填,数据路径~~
//创建page对象
【注!默认加载page.json中的第一个page页面,故若想指定测试页面请使用方法:page = await program.reLaunch('/pages/login/login')】
const page = await program.currentPage()
//获取页面渲染数据
const data = await page.data()console.log(data,'获取页面渲染数据')
5.设置页面渲染数据
page.setData(data:Object):Promise
参数说明:
【data】Object类型,必填,要改变的数据
const page = await program.currentPage()
await page.setData({
text: 'changed data'
})
本示例演示设置页面渲染数据,然后进行获取测试是否和预期渲染一致
原始title值是: hello,
通过设置值为: 我是测试数据
进行测试比对
输出结果如下:测试通过
6.获取页面大小
page.size():Promise
参数说明:
【width】number类型,页面可滚动高度
【height】number类型,页面可滚动宽度
//创建page对象
const page = await programPage()
//获取被测试页面的宽度和高度
const {width,height] = await page