キュウリと分度器を使用してサンプルのBDDテストを行いました。コードを実行すると、コンソールには結果がすぐに渡され、コードは実際に実行され始めます。分度器キュウリBDDテスト実行前に合図を表示
実行状態の表示を実際の実行と同期させたい(例えば、コンソール表示 - '私は分度器デモページを起動し、その下のコードが実行され、コンソールに次の手順が表示されます)それが非同期コーディングとコールバックと関係があることを知っていますが、正確な問題を把握することはできません。
フィーチャーファイル:
Feature: Test
Scenario: Test Scenario
Given I launch the protractor demo page
When I enter two in the first field
And I enter three in the second field
And I click Go button
Then Result should be displayed as Five
STEPファイル:
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
module.exports = function() {
this.Given(/^I launch the protractor demo page$/, function (callback) {
browser.driver.manage().window().maximize();
browser.get('http://juliemr.github.io/protractor-demo/');
browser.getTitle().then(function(text){
console.log('title is - ' + text);
expect(text).to.equal('Super Calculator');
});
callback();
});
this.When(/^I enter two in the first field$/, function (callback) {
element(by.model('first')).sendKeys('2');
callback();
});
this.When(/^I enter three in the second field$/, function (callback) {
element(by.model('second')).sendKeys('3');
callback();
});
this.When(/^I click Go button$/, function (callback) {
element(by.id('gobutton')).click();
callback();
});
this.Then(/^Result should be displayed as Five$/, function (callback) {
element(by.repeater('result in memory')).all(by.tagName('td')).get(2).getText().then(function(text){
expect(text).to.equal('5');
});
callback();
});
};
分度器のバージョンは3.3.0です – Manya