自动input到terminal,从nodeJS?

这可能听起来相当疯狂,但是我找不到在cordova应用程序上自动截取屏幕截图的解决scheme。

我知道我可以使用和保存模拟器的屏幕截图

adb shell /system/bin/screencap -p /sdcard/screenshot.png adb pull /sdcard/screenshot.png screenshot.png 

在terminal,我疯狂的问题是。 我可以从nodeJS自动化脚本触发这些命令吗? 还是这个太过分了,是一个可怕的主意?

从node.js执行terminal命令最简单的方法是使用child_process.exec

 const exec = require('child_process').exec; exec('adb shell /system/bin/screencap -p /sdcard/screenshot.png', (error, stdout, stderr) => { if (error) { console.error(`exec error: ${error}`); return; } console.log(`stdout: ${stdout}`); console.log(`stderr: ${stderr}`); }); 

node.js中内置的child_process模块提供了很多函数,如child_process.spawn,child_process.exec,child_process.execFile,可用于执行terminal命令或其他脚本文件(.sh,.bat)。