我正在使用Appium和Python 3.x编写针对android设备的自动测试。我想使用python调用命令adb shell screenrecord video.mp4以便从设备录制视频。 然后它应该继续记录一段时间,并终止记录过程。
似乎shell没有“看到”带有文件名的参数。
import subprocess
import time
import os
def record():
timestamp = time.strftime("%d/%m/%Y %H%M%S")
command = ["adb", "shell","screenrecord","video%s.mp4" % timestamp]
process = subprocess.Popen(command)
time.sleep(5)
process.kill()
subprocess.call('adb connect 192.168.2.128:5555', shell=True)
record()
subprocess.call('adb disconnect', shell=True)
我希望代码将其记录并存储在指定位置(/ sdcard /文件名)。 相反,我得到以下输出:
already connected to 192.168.2.128:5555
Must specify output file (see --help).
disconnected everything
答案 0 :(得分:0)
请使用(\w|:\)|:\(|#|@| )
,start_recording_screen()
进行屏幕记录。
http://appium.io/docs/en/commands/device/recording-screen/start-recording-screen/ http://appium.io/docs/en/commands/device/recording-screen/stop-recording-screen/
示例代码如下。
stop_recording_screen()
答案 1 :(得分:0)
如果要使用adb shell,请按以下方式使用execute_script('mobile:shell', data)
。
data = {"command": "ls", "args": ["-l"]}
text = driver.execute_script('mobile:shell', data)