2

我正在尝试将视觉比较测试添加到我的布局中,但似乎我没有正确配置我的测试环境。

我在用着:

这是我的测试 JS 文件:

var url, screenshotRoot, modules, phantomCSS, page;

url             = 'http://website.local';
screenshotRoot  = 'tests/screenshots';
modules         = '../node_modules';
phantomCSS      = require(modules + '/phantomcss/phantomcss.js');
page            = { width: 1024, height: 768 };

phantomCSS.init({
    screenshotRoot: screenshotRoot,
    failedComparisonsRoot: screenshotRoot + '/failures',
    libraryRoot: modules + '/phantomcss',
});

casper
.start(url)
.then(function() {
    phantomCSS.screenshot("body", "elements-cheatsheet");
})
.then(function() {
    phantomCSS.compareAll();
})
.run(function() {
    phantom.exit(phantomCSS.getExitStatus());
});

casper.viewport(page.width, page.height);

当我运行casperjs test tests/layout.js测试开始时,创建屏幕截图并引发错误:

[PhantomCSS] Can't find Resemble container. Perhaps the library root is mis configured. (../node_modules/phantomcss/ResembleJs/resemblejscontainer.html)

我检查了resemblejscontainer.html文件的位置,它正好在抛出的错误中列出的位置。

我哪里错了?

4

4 回答 4

2

我假设您希望能够在 and 之间进行更改node_modules,例如libor bower_components

以下内容也应该起作用:

modules = 'node_modules';
phantomCSS = require('./../' + modules + '/phantomcss/phantomcss.js');
…
phantomCSS.init({
    …
    libraryRoot: './' + modules + '/phantomcss'
});

(这是基于PhantomJS Cookbook的食谱。)

于 2015-01-15T21:58:17.710 回答
1

使用绝对路径解决了我的问题:

modules = '/Users/username/path/node_modules';
于 2014-03-18T10:05:55.047 回答
1

您需要在 phantomcss.init{} 函数中传递 phantomcss 库路径

phantomcss.init( {
    rebase: casper.cli.get( "rebase" ),
    // SlimerJS needs explicit knowledge of this Casper, and lots of absolute paths
    casper: casper,
    libraryRoot: fs.absolute( fs.workingDirectory + '/node_modules/phantomcss' ),
    screenshotRoot: fs.absolute( fs.workingDirectory + '/screenshots' ),
    failedComparisonsRoot: fs.absolute( fs.workingDirectory + '/demo/failures' ),
    addLabelToFailedImage: false

这是来自 phantomcss 演示测试用例。

于 2017-05-30T13:25:29.793 回答
1

我在 PhantomCSS 文件夹中执行了 'sudo npm installlikejs' 并且它有效。对于像我这样的新手用户来说,这种解决方法可能比更改根文件夹或任何其他文件更容易。

于 2016-03-29T19:58:03.843 回答