如何链接casper与任何存储

我需要将testing结果存储在任何存储中。 但不幸的是,它不会与任何db驱动程序任何时候引发exception“CasperError:无法find模块networking”:

var require = patchRequire(require); var redis = require("redis"), client = redis.createClient(); 

是否有可能将casperjs连接到任何存储(当然除了纯文件)。

这可能对有相同挑战的人有用

我最终得到的解决scheme是使用phantomjs的fs模块写入一个文件,然后使用child_process模块执行redis-cli进程。 我的testing实际上导入了一个通用模块来完成这项工作。 数据库脚本是一组简单的redis命令,一行一行。 有关redis redis-cli --pipe上的详细信息,请参阅redis批量插入 。

导入的runDBScript函数var runDBScript = require("dbutils").runDBScript;

 exports.runDBScript = function(scriptName) { var cp = require("child_process"); cp.execFile('./dbscripts/exec_db_commands.sh', ["./dbscripts/" + scriptName], {}, function(error, stdout, stderr) { casper.echo("Error: " + error); casper.echo("Stdout: " + stdout); casper.echo("Stderr: " + stderr); }); }; 

exec_db_commands.sh是一个非常简单的shell脚本,它调用了redis客户端:

 #!/usr/bin/env bash echo "Executing cat $1 | redis-cli --pipe" cat $1 | redis-cli --pipe