gpt4 book ai didi

javascript - 如何将 casper 与任何存储链接起来

转载 作者:行者123 更新时间:2023-11-28 20:43:33 25 4
gpt4 key购买 nike

我需要将测试结果存储在任何存储器中。但不幸的是,它在任何时候引发异常“CasperError:找不到模块网络”时都不适用于任何数据库驱动程序:

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

是否可以将 casperjs 连接到任何存储(当然除了普通文件)。

最佳答案

这可能对面临同样挑战的人有用

我最终的解决方案是使用 phantomjs 的 fs 模块编写文件,然后使用 child_process 执行 redis-cli 进程> 模块。我的测试实际上导入了一个通用模块来完成这项工作。数据库脚本是一套简单的 redis 命令,一行一行。参见 redis mass insertion有关 redis-cli --pipe 的详细信息。

使用 var runDBScript = require("dbutils").runDBScript; 导入的 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

关于javascript - 如何将 casper 与任何存储链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23104606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com