如何将casper与任何存储链接
How to link casper with any storage
我需要将测试结果存储在任何存储中。但不幸的是,每当它引发异常"CasperError:找不到模块网"时,它都无法与任何数据库驱动程序一起工作:
var require = patchRequire(require);
var redis = require("redis"),
client = redis.createClient();
是否可以将casperjs连接到任何存储(当然,普通文件除外)。
这可能对具有相同挑战的人有用
我最终得到的解决方案是使用phantomjs的fs
模块写入一个文件,然后使用child_process
模块执行redis-cli
进程。我的测试实际上导入了一个通用模块来完成这项工作。数据库脚本是一组简单的redis命令,一行接一行。有关redis-cli --pipe
的详细信息,请参见redis批量插入。
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
相关文章:
- 有没有任何方法可以将json对象存储在HTML标记的默认/自定义属性中,比如<tr>
- 是否有任何在路由中使用余烬存储的发布请求功能
- 我们如何使用 Javascript 将 HTML 表单数据存储到 XML 文件中(并且不使用任何服务器端工具,如 asp
- 是否可以使用 PHP 或 JavaScript 或任何其他编程语言在客户端计算机中存储大约 1 MB 的数据
- 使用 ajax 将文本区域信息存储到数据库中.除非我以任何方式编辑文本区域,否则工作正常.信息仍然被存储,但XMLHTT
- 在localStorage中存储HTTP Basic授权标头是否存在任何安全问题
- Extjs组合框在存储区未加载任何结果时保持重置文本值
- 将数据存储在HTML标记中是不是最好的做法;我没有任何内容
- 仅在chrome和android设备中使用任何布尔比较操作崩溃验证本地存储项
- LocalStorage是否以任何方式支持自定义(即非基元类型)对象存储和检索
- 是否有任何方法从存储读取而不是从组件在React-redux
- 我想将列表项存储在会话id licitys中,但无法做到这一点,可能有任何建议
- nodejs/V8是否将编译后的机器码存储在磁盘上的任何地方?
- 自定义WP表单不存储任何数据
- 是否有一种方法可以在烬存储中设置任何烬模型更改的观察者
- 关于如何使用数组存储其他变量名称的任何想法
- Extjs数据模型/存储是否支持任何包装代理构建器方法?
- 如何在web sql中存储列表或在浏览器中存储任何类型的列表
- 将敏感数据存储在本地存储或会话存储中是否安全?本地存储允许对敏感数据进行任何攻击
- 如何将casper与任何存储链接