目前 Macaca-wd 官方未支持 screenrecord,尝试在跑自动化测试的时候 adb shell screenrecord -p 进行录屏操作,但是会导致自动化测试的中断,猜测开启录屏时中断自测用例的 adb 进程导致,有什么好的方案可以在跑自测用例的同时进行 screenrecord 操作?
通过调用 macaca-adb 配合测试呢?
我试试看,不过 macaca-adb 未包含 adb screenrecord 功能,macaca-adb 使用示例有么?
用例里可以 require('macaca-adb') 然后执行 bin
嗯嗯 操作动作录屏的逻辑尝试用 macaca-adb 做是可以的,感谢提供的方案,下面是用例代码中插入屏幕录制的示例代码
const ADB = require('macaca-adb')
const adb = new ADB()
....
it('这是一个测试用例', function () {
adb.setDeviceId('e98c6ab9')
return driver
.waitForElementById('xxx')
.click()
.then(() => {
// 下面是录制视频的逻辑
return new Promise(resolve => {
adb.shell('screenrecord --time-limit 5 /sdcard/demo.mp4', () => {
adb.pull('/sdcard/demo.mp4', './', () => {
resolve()
})
})
})
})
.sleep(3 * 1000)
})
....
为什么 macaca-adb 就不会中断 macaca 的 UI 自动化进程,但是直接使用 adb 指令就会中断 macaca 的 ui 自动化进程,这个里面的原理能简单说下么?