从nodeJS自动输入到终端?

时间:2016-12-11 16:25:12

标签: node.js cordova terminal automation

这可能听起来很疯狂, 但我无法找到自动在cordova应用程序上截屏的解决方案。

我知道我可以使用

获取并保存模拟器的屏幕截图
adb shell /system/bin/screencap -p /sdcard/screenshot.png
adb pull /sdcard/screenshot.png screenshot.png
在终端,我的疯狂问题是。 我可以从nodeJS自动化脚本触发这些命令吗?或者这太过牵强和一个可怕的想法?

1 个答案:

答案 0 :(得分:2)

从node.js执行终端命令的最简单方法是使用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,可用于执行终端命令或其他脚本文件(.sh,.bat) )。