Я использую CasperJS для тестирования моего webApp, дело в том, что мне нужно получить доступ к БД для автоматизации некоторых необходимых входов из моих тестов.Как использовать модуль дочернего процесса на окнах от PhantomJS/CasperJS
Я ищу альтернативы по извлечению этих данных из БД внутри сценария jsys jsys js, наконец, я решил использовать phantomJS child process module, чтобы вызвать groovy-скрипт для подключения БД и сделать выбор и распечатать результат stdout, чтобы получить его от CasperJS. Однако из образца фантома не может понять, как это сделать, на основе образца я сделал некоторые попытки с spawn
и execFile
без везения. Я пытаюсь:
var process = require("child_process")
var spawn = process.spawn
var execFile = process.execFile
var child = spawn("groovy", ["script.groovy"])
child.stdout.on("data", function (data) {
console.log("spawnSTDOUT:", JSON.stringify(data))
})
child.stderr.on("data", function (data) {
console.log("spawnSTDERR:", JSON.stringify(data))
})
child.on("exit", function (code) {
console.log("spawnEXIT:", code)
})
Это не работает и не производит никакого вывода. Я также пытаюсь напрямую выполнить команду dir
напрямую, а также ничего не происходит.
Я также пытаюсь использовать Linux, и он тоже не работает. Я также пытаюсь создать простое эхо .sh
и ничего ..., однако в linux, когда я пытаюсь запустить команду ls
, на этот раз она работает так, как ожидалось.
Я не могу заставить это работать на Windows 10 с новейшим phantomJS; Я попытался запустить 'spawn (" cmd.exe ", ["/k "])' и он выдает ошибку, но ничего полезного в сообщении об ошибке. Есть предположения? –
@Donbox после '/ k' вы должны передать команду для выполнения,'/k' ничего не делает. Например, вы можете попробовать с помощью 'spawn (" cmd.exe ", ["/k "," dir "])' для отображения файлов в текущем каталоге. Кроме того, вы можете попробовать, что я говорю из фантома, если вы запустите (клавиши 'Win' +' R') и поместите 'cmd/k', просто откроется новый cmd, вместо этого, если вы поместите' cmd/k dir' открывается новый cmd и выполняется команда 'dir', отображающая список файлов в качестве результата. Надеюсь, это уточнит ваш вопрос ':)' – albciff
проблема 'spawn (" cmd.exe ", ["/k "])' throws error в Phantom –