我有一个看起来像这样的upload.js测试脚本 -
casper.test.comment('upload test!');
var casper=require('casper').create({
waitTimeout: 30000, //max out upload time
});
var fileName='/Users/steven/test.png';
casper.start('http://steven.dev/', function () {
casper.thenClick('#btn_upload', function () {
this.test.assertUrlMatch ('http://steven.dev/upload', 'on upload page ');
});
casper.then(function(){
this.evaluate(function(fileName)
{__utils__.findOne('input[type="file"]').setAttribute('value',fileName)},
{fileName:fileName});
this.echo('Name='+this.evaluate(function() {return
__utils__.findOne('input[type="file"]').getAttribute('name')}));
this.echo('Value='+this.evaluate(function() {return
__utils__.findOne('input[type="file"]').getAttribute('value')}));
this.page.uploadFile('input[type="file"]',fileName);
});
casper.then(function() {
this.click('#submit_button');
});
casper.waitForSelector('.upload_progress', function() {
this.echo('uploading...');
});
casper.waitForText("Done!", function() {
this.echo('success!');
});
casper.then(function() {
this.test.assertVisible ('#tools','see tools');
});
casper.run(function() {
this.test.done(2);
this.exit();
});
当我使用--xunit
参数(例如casperjs test upload.js --xunit=log.xml
)运行此测试时,它只运行测试并且不会导出日志文件。我在我的套件中有2个其他测试导出文件就好了。 WTF!
答案 0 :(得分:1)
这一段时间以来一直在努力。至少对我来说,关键是要完全删除var casper = require('casper').create(...)
。显然,使用“casperjs test myfile.js”运行测试时不需要它。