【发布时间】:2025-12-03 07:50:01
【问题描述】:
我正在使用 Selendroid 来测试我的应用。 在每个测试开始时,我使用以下函数运行 adb shell screenrecord:
public static Process startScreenRecord(String fileName) throws IOException{
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", "cd C:\\Users\\user\\Downloads\\adt-bundle-windows-x86_64-20140702\\adt-bundle-windows-x86_64-20140702\\sdk\\platform-tools\\ && adb shell screenrecord /sdcard/" + fileName);
builder.redirectErrorStream(true);
Process p = builder.start();
return p;
}
录制开始,一切正常。在每次测试结束时,我尝试通过以下代码停止记录:
public static void stopScreenRecord(Process p) throws IOException{
p.destroy();
}
在测试中我使用以下结构:
Process p = CmdHelper.startScreenRecord("e1.mp4");
//TestCode
CmdHelper.stopScreenRecord(p);
问题是视频录制没有停止。 如何在每次测试结束时停止通话录音?
【问题讨论】:
-
您可能希望使用 adb shell 操作来查找并终止屏幕记录进程本身。注意 android 没有 pkill 或 killall,虽然它现在有 grep。
-
问题是杀掉进程后视频没有保存。有什么“干净”的方法可以停止该过程以便保存视频?
-
@galvan 你能发布你想出的解决方案吗?你让这个工作了吗?我们遇到了同样的问题。谢谢
标签: java android selenium selendroid