做自动化测试的时候,appium提供了手机屏幕录制的方法,start_recording_screen 和 stop_recording_screen

,这两个接口用来给手机做录屏功能的。我做了总结如下:

框架 :appium 安卓 IOS
windows 普通手机用adb录屏,但是华为等手机去除了adb录屏功能,因此只能使用scrcpy录屏 使用ffmpeg录屏,但是由于appium使用的node,在停止录屏的时候node结束信号windows无法接收,导致ffmpeg无法正常结束,因此录屏无法播放。因此有两种方案,第一种就是appium启动录屏之后,自己另外写一个ffmpeg拉流的进程,然后自己代码控制ffmpeg正常结束,生成录屏文件。还有一种方案就是自己写一个http的拉流进程,用http去拉流,但是通过http拉流有时候会导致appium启动的ffmpeg出异常,导致任务异常结束,原因我暂时未找到。因此这里推介使用自己启动一个ffmpeg拉流进程
MAC 同上 使用ffmpeg录屏

注意,IOS在windows上执行任务需要使用tidevice + appium,前提是ios手机上安装上去webdriveragent, ios手机并行录屏appium需要设置mjpegServerPort端口,wda启动的时候需要设置MJPEG_SERVER_PORT端口

原创文章,转载请注明出处:http://124.221.219.47/article/157984561/