所以这里有另一个麻烦。我有一个脚本加载svg并等待它出现随机失败。有时幽灵会在加载svg时陷入困境(即使在2分钟内使用waitTimeout
,所以我认为这个问题并不存在)。脚本:http:// r.ccmbg.com/js.php?m=highchart=...
我仍然可以在循环中加载页面X次,等待svg出现,但我更喜欢另一种解决方案。如果你有一个想法,我全都耳朵。
简单示例:
casper.test.begin('\n********* Navigation on directories : ***********', 8,{
setUp: function(test) {
//setLevel("normal");
},
tearDown: function(test) {
//getJSON();
},
test: function(test){
"use strict";
casper.start()
.thenOpen('http://www.linternaute.com/voyage/climat/paris/ville-75056/2013-2008')
.waitForResource(/m=highcharts&/, function(){
this.waitForSelector('svg',function(){
this.test.assertExists("tspan");
});
})
.waitForUrl(/2008/, function(){
this.test.assertSelectorHasText("h2", "maximales");
this.test.assertSelectorHasText("h2", "minimales");
this.test.assertSelectorHasText("h2", "Paris");
this.test.assertSelectorHasText("h2", "Le soleil");
this.test.assertSelectorHasText("h2", "La pluie");
this.test.assertExists("div.marB20");
this.test.assertNotEquals(this.fetchText("div.marB20 > table > thead > tr > th"), " ", "Table first data not empty");
})
.run(function() {
this.test.comment('--- Done ---\n');
test.done();
});
}
});
答案 0 :(得分:0)
好吧,当我不知道所调用的脚本或使用的API时(因此我无法自行调试),我现在只需检查资源。
this.waitForResource(/js\.php\?m=highcharts&v/, function(){
this.test.pass("ressource received (js -> API highcharts)");
});
请勿忘记此事件以获取页面文档错误:
casper.on("page.error", function(msg, trace) {
this.echo("Page Error: " + msg, "ERROR");
});