gpt4 book ai didi

android - 在自动脚本中停止 Android 屏幕录制

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:00 25 4
gpt4 key购买 nike

我正在 Appium(针对 Android 应用程序)中构建自动化测试场景,并试图找出一种在特定时刻开始录制屏幕、运行某些操作然后停止录制的方法。

我找不到在 Appium 中实现的任何屏幕记录解决方案,但找到了一个简洁的 adb shell 命令,screenrecord,它完全符合它的说明。现在我的问题是停止录制的唯一明显方法是在参数中设置我需要的确切时间限制,或者在交互式 shell 中按 Ctrl-C:

2|shell@mako:/ $ screenrecord --help
Usage: screenrecord [options] <filename>

Android screenrecord v1.2. Records the device's display to a .mp4 file.

Options:
--size WIDTHxHEIGHT
Set the video size, e.g. "1280x720". Default is the device's main
display resolution (if supported), 1280x720 if not. For best results,
use a size supported by the AVC encoder.
--bit-rate RATE
Set the video bit rate, in bits per second. Value may be specified as
bits or megabits, e.g. '4000000' is equivalent to '4M'. Default 4Mbps.
--bugreport
Add additional information, such as a timestamp overlay, that is helpful
in videos captured to illustrate bugs.
--time-limit TIME
Set the maximum recording time, in seconds. Default / maximum is 180.
--verbose
Display interesting information on stdout.
--help
Show this message.

Recording continues until Ctrl-C is hit or the time limit is reached.

我可以使用 --time-limit,但我需要估计在测试中任何给定的记录应该花费多长时间,内存使用率远非最佳等。

使用 Ctrl-C 有其自身的局限性,因为它需要交互式 shell session ,而我的自动化应该只包括简单的 shell 命令:

adb -s DEVICE_UDID shell screenrecord /sdcard/Recordings/video.mp4

有谁知道主动停止录音的方法吗?

或者,有谁知道如何使用 Appium 录制屏幕?

最佳答案

如果您保存运行屏幕记录的进程,您可以使用信号 SIGINT 执行 kill,这将按您希望的方式工作。

例如:

process = adb shell
process.stdin = screenrecord test.mp4 &

然后当你想杀死它的时候

process.stdin = pkill -2 screenrecord

应该可以,试一试

关于android - 在自动脚本中停止 Android 屏幕录制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34851975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com