如何从NodeJS中的Mocha测试中访问PhantomJS WebPage模块?

时间:2015-05-25 14:22:40

标签: node.js phantomjs mocha mocha-phantomjs

我的基础是http://phantomjs.org/quick-start.html

的Page Loading部分

我想做这样的事情:

tests.js

var should = require('chai').should();
var page = require('webpage').create();

describe('test website with phantomJS', function() {
    it('should load html from page', function() {
        page.open('myHomePageToTest.html', function(status) {
            if (status === 'success') {
                page.content.should.equal('<!DOCTYPE html>...etc...</html>');
            }
        });
    }); 
});

如果我尝试使用'mocha-phantomjs test.js'运行此命令,我会收到错误'启动mocha失败:初始化超时'

如果我尝试使用'mocha test.js'运行此操作,我会收到错误'找不到模块'网页“'

我确信这些是给定代码的预期错误消息。我的理解是失败了。代码是我对我想要做的描述。经过几个小时的踩水昨晚,我不知道该怎么做。

感谢您在正确的方向上提供任何帮助或推动。

1 个答案:

答案 0 :(得分:2)

var assert = require('assert');

var phantom = require('phantom');

describe('Mocha and phantom', function () {

    this.timeout(150000);

    it('Tweeking with phantomjs', function (done) {
        phantom.create(function (ph) {
            ph.createPage(function (page) {
                page.open('https://www.facebook.com/', function (status) {


                    page.evaluate(function () {
                       return document.all[0].outerHTML      //can check different elements
                    }, function (result) {
                        console.log('----------->>>>result',result);
                        assert.equal(status,'success','Not appropriate status');
                        done();
                    })
                })
            })
        })
    })
})