javascript – 无法跨多个文件拆分CasperJS测试

文档并没有真正有用 – 太简短和模糊.据我所知,从 docs开始,我们只需要在测试目录上运行casperjs命令,并确保每个测试都以Tester.done()结束.这是我的两个测试,
//test1.js
var casper = require('casper').create();

var urlPrefix = "http://localhost/NavHawk2/";

casper.start(urlPrefix,function() {
    this.test.assertSelectorHasText('title','Login','Title Ok! Login Page Expected');
    this.test.assertExists('form[action$="/login"]','Login Form is found');
    this.fill('form[action$="/login"]',{
        .....
    },true);
});

casper.run(function() {
    this.test.done(2);
});


//test2.js
var blinkingCircleImg = "7.gif"

casper.on('page.error',function(){
    console.log("SOme Javascript error persists!");
});

casper.then(function(){
    this.test.assertSelectorHasText('title','Map','Login Ok! Map Page Expected');
    this.test.assertExists('img[src$="' + blinkingCircleImg + '"]','Blinking Circle being shown!');
    this.test.assetNotVisible('#sidebar_content_geofences','Geofencing sidebar not being shown!');
});

casper.run(function() {
    this.test.renderResults(true);
    this.test.done(3);
});

问题是test2.js文件永远不会运行.也许我错了.

解决方法

这里有几件事:

>您必须使用casperjs test子命令
>您可能无法在测试脚本中创建新的casper实例
>使用casperjs test子命令时,您可能无法调用.renderResults
>测试给定目录中的脚本将按其文件名的字母顺序执行

一个useful gist,它演示了如何/应该使用命令.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...