Rob*_*mba 6 javascript coffeescript phantomjs casperjs
我正在尝试使用CasperJS构建功能测试. caseperjs由后端测试套件使用以下命令运行:
PHANTOMJS_EXECUTABLE=../client/node_modules/phantomjs/bin/phantomjs ../client/ext_modules/casperjs/bin/casperjs test ../client/test/functional/init.coffee
Run Code Online (Sandbox Code Playgroud)
在init.coffee中,我想导入/包含其旁边就位的其他模块(文件).怎么做?
以下不起作用:
require("user")
Run Code Online (Sandbox Code Playgroud)
我想要的是将其他文件中的内容导入init.coffee
Mar*_*mon 12
在尝试了许多其他建议(每个建议都在相应的环境中工作)之后,点击这个解决方案:
phantom.page.injectJs( 'script.js');
Run Code Online (Sandbox Code Playgroud)
从1.1开始,CasperJS依赖于PhantomJS的原生require():https://groups.google.com/forum/#!topic /phantomjs/0 -DYnNn_6Bs
在注入其他模块时,CasperJS会查找相对于cur目录的路径(我们运行casperjs命令的地方)我们可以使用clientScripts选项注入依赖项.但是注入的依赖项不能使用require"全局".它们会立即注入每个加载的页面.
casper.options.clientScripts = ["path/relative/to/cur/dir"]
Run Code Online (Sandbox Code Playgroud)
我们也可以使用命令行参数注入模块:
casperjs test --includes=foo.js,bar.js path/to/the/test/file
Run Code Online (Sandbox Code Playgroud)
要导入用户模块,请使用:
require "./user-module.coffee"
Run Code Online (Sandbox Code Playgroud)
然后在用户模块中,您还可以使用require.使用require路径相对于当前文件(其中调用require)进行解析.
如果在用户模块中要导入casper库,则需要修补require,请检查:https://casperjs.readthedocs.org/en/latest/writing_modules.html
| 归档时间: |
|
| 查看次数: |
11181 次 |
| 最近记录: |