Я создаю автоматизированные тестовые сценарии в Appium (для приложения для Android), и я пытаюсь найти способ начать запись экрана в определенный момент, выполняя некоторые действия и затем прекратить запись.Остановить запись на экране Android в автоматическом сценарии
Я не смог найти решение для записи на экране, реализованное в Appium, но нашел аккуратную команду оболочки adb, screenrecord
, которая выполняет именно то, что она заявляет. Теперь моя проблема заключается в том, что только очевидные способы, чтобы остановить запись являются либо установить точный лимит времени мне нужно в аргументах, или нажать Ctrl-C в интерактивной оболочке:
2|[email protected]:/ $ 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 предлагает свои собственные ограничения, так как для этого требуется интерактивный сеанс оболочки и мои автоматизации должны включать только простые команды оболочки:
adb -s DEVICE_UDID shell screenrecord /sdcard/Recordings/video.mp4
Кто-нибудь знает, как активно остановить запись?
В любом случае, кто-нибудь знает, как записать экран с помощью Appium?
очень хороший вопрос .. По моим сведениям, Appium не поддерживает запись на экране. И вы не можете остановить запись экрана adb, кроме параметра timeout и ключевого события CTRL-C –
'Ctrl-C' - это не что иное, как' SIGINT'. Просто отправьте его в процесс 'screenrecord' - нет« интерактивного сеанса оболочки »требуется –
Спасибо, не подумал об этом. Если вы опубликуете его в качестве ответа, я соглашусь с ним. –