gpt4 book ai didi

javascript - test.success 中的 PhantomCSS undefined object

转载 作者:行者123 更新时间:2023-11-30 17:26:20 25 4
gpt4 key购买 nike

我正在使用 PhantomCSS 编写测试脚本,但我遇到了错误。我已经运行过我的脚本一次并创建了基线屏幕截图。现在,当我尝试再次运行它时,它创建了 .diff.png 图像,但随后抛出错误:

TypeError: 'undefined' is not an object (evaluating 'test.success')
/path/to/phantomcss.js:426
FAIL TypeError: 'undefined' is not an object (evaluating 'test.success')
# type: error
# file: visual.js
# subject: false
# error: "TypeError: 'undefined' is not an object (evaluating 'test.success')"
# stack: in anonymous() in /path/to/phantomcss.js:426
FAIL 1 test executed in 4.035s, 0 passed, 1 failed, 0 dubious, 0 skipped.

我注释掉了大部分 phantomcss.init() 代码,但这是我剩下的:

var phantomcss = require('/path/to/phantomcss.js');

phantomcss.init({
failedComparisonRoot: './diffs'
});

casper.start(url);

casper.viewport(1024, 768);

casper.then(function() {
casper.wait(2500, function() {
phantomcss.screenshot('#app-bar', 'App_bar_initial');
phantomcss.screenshot('.selected', 'Selected_Menu_Initial');

});
});

casper.then(function() {
phantomcss.compareAll();
})

casper.then(function() {
casper.test.done();
})

casper.run(function() {
phantom.exit(phantomcss.getExitStatus());
});

编辑:第 426 行来自 phantomcss.js是:

function waitForTests(tests){
casper.then(function(){
casper.waitFor(function(){
return tests.length === tests.reduce(function(count, test){
if (test.success || test.fail || test.error) {
return count + 1;
} else {
return count;
}
}, 0);
.....

最佳答案

发现问题。如果您使用 NPM 安装它,则必须指定 libraryRoot

var phantomcss = require('../node_modules/phantomcss/phantomcss.js');

phantomcss.init({
libraryRoot: 'node_modules/phantomcss',
});

关于javascript - test.success 中的 PhantomCSS undefined object ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24170662/

25 4 0