基本的CucumberJS和Zombie用例

时间:2014-09-08 15:48:27

标签: javascript zombie.js cucumberjs

美好的一天,我的同志代码:

我按照一些香草设置的例子来使用僵尸和黄瓜。基本问题是我在第一步访问网站。然后,在下一步中,僵尸浏览器不再知道它。我有一个非常基本的设置,所以我不确定我可能缺少什么。

以下是我从项目主页开始测试的方法:

./node_modules/.bin/cucumber.js -r features/

这是黄瓜文件,非常简短:

Feature: Load up the web page

  Scenario: Go to the index page
    Given I go to the "" page
    Then I should see "Start"

以下是两个步骤定义。正如你所看到的,为了理智,我只是试图访问谷歌:

assert = require('assert')

module.exports = function(){
  this.World = require(process.cwd() + "/features/support/world").World;

  this.Given(/^I go to the "([^"]*)" page$/, function (subpath, callback) {
    this.browser.visit("http://www.google.com", function(e,browser){
      //console.log(browser.html());
    });

    callback();
  });

  this.Then(/^I should see "([^"]*)"$/, function (arg1, callback) {
    console.log(this.browser.location.pathname);
    console.log(this.browser.html());
    callback();
  });
}

以下是运行时的输出:

./
<html><head></head><body></body></html>
.

1 scenario (1 passed)
2 steps (2 passed)

如果我在第一步中取消注释console.log,则输出是访问google的HTML,la:

<html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head> <meta content="application/xhtml+xml; charset=UTF-8" http-equiv="Content-Type" /> <title>Google</title> 

这是我的world.js设置。它非常香草:

var zombie = require('zombie')
var World = function World(callback){
  this.browser = new zombie.Browser();
  callback();
};

module.exports.World = World;

0 个答案:

没有答案