如何通过命令行将变量作为参数传递给CasperJS脚本?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (44)

我使用PhantomJs,CasperJs和Js在js文件中运行cmd。

想象一下,我们有两个文件(test1.js和test2.js)。这两个文件都有一个url /站点变量,将测试指向特定的地址。每当环境发生变化或目标位置发生变化时,我们都需要更新此变量。

为了避免更新文件,我想通过命令行传递值,以便在哪里测试。

有没有办法在运行文件时通过cmd声明字符串变量?

例如:

casperjs test.js "var site='http://google.com';"
提问于
用户回答回答于

示例代码:

var casper = require("casper").create();

casper.echo("Casper CLI passed args:");
require("utils").dump(casper.cli.args);

casper.echo("Casper CLI passed options:");
require("utils").dump(casper.cli.options);

casper.exit();

执行结果:

$casperjs test.js arg 1 arg 2 arg3-foo=bar-plop anotherarg Casper

CLI passed args: [
    "arg1",
    "arg2",
    "arg3",
    "anotherarg" ]
Casper CLI passed options: {
    "casper-path": "/Users/niko/Sites/casperjs",
    "cli": true,
    "foo": "bar",
    "plop": true }
用户回答回答于

在命令提示符上:

casperjs test file_name.js --port='123' --username='batman'

在测试脚本中:

casper.cli.get('port');
casper.cli.get('username');

所属标签

可能回答问题的人

  • 学生

    3 粉丝476 提问7 回答
  • uncle_light

    5 粉丝518 提问7 回答
  • 最爱开车啦

    8 粉丝503 提问5 回答
  • 骑牛看晨曦

    4 粉丝522 提问5 回答

扫码关注云+社区

领取腾讯云代金券