コードの仲間の皆さん、こんにちは。
ゾンビとキュウリを使用するためのいくつかのバニラのセットアップ例に従いました。基本的な問題は、最初のステップでサイトにアクセスすることです。次に、次のステップで、ゾンビ ブラウザはそれを認識しなくなります。私は非常に基本的な設定をしているので、何が欠けているのかわかりません。
プロジェクトのホームからテストを実行する方法は次のとおりです。
./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"
2 つのステップの定義を次に示します。ご覧のとおり、正気を保つために、私は単にGoogleにアクセスしようとしています:
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 になります。
<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;