Aar*_*ten 18 javascript jquery cmd phantomjs casperjs
我在一个js文件中使用PhantomJs,CasperJs和Js来运行cmd.
想象一下,我们有两个文件(test1.js和test2.js).这两个文件都有一个url/site变量,用于将测试定向到特定地址.每当环境发生变化或目标位置发生变化时,我们都需要更新此变量.
为了避免更新文件,我想通过命令行传递值,以测试它的位置.
有没有办法在运行文件时通过cmd声明字符串变量?
例如:
casperjs test.js "var site='http://google.com';"
Run Code Online (Sandbox Code Playgroud)
kap*_*apa 23
该文件说,你可以通过命令行参数.
CasperJS在PhantomJS的一个上面附带一个内置的命令行解析器,位于
cli模块中; 它将传递的参数公开为位置参数和命名选项但是不用担心操作cli模块解析API,Casper实例总是包含一个可以使用的
cli属性,允许轻松访问所有这些参数.
示例代码:
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();
Run Code Online (Sandbox Code Playgroud)
执行结果:
$ casperjs test.js arg1 arg2 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 }
Run Code Online (Sandbox Code Playgroud)
Sha*_*der 11
在命令提示符下说:
casperjs test file_name.js --port='123' --username='batman'
Run Code Online (Sandbox Code Playgroud)
在测试脚本中说:
casper.cli.get('port');
casper.cli.get('username');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10124 次 |
| 最近记录: |