나는 그렇게 생각하지 않습니다. AfterFeatures에서 오이 프로세스는 이미 끝났으므로 이은 더 이상 참조하지 않습니다.
하지만 페이지를 방문하기 만하면 오페라 밖에서 브라우저를 등록 할 수 있으므로 AfterFeatures 후크에서 계속 액세스 할 수 있습니다. AngularJS + Protractor를 사용하는 경우 각도기가 브라우저를 처리하므로 AfterFeatures 후크에서 여전히 액세스 할 수 있습니다. 그것은 같은 원리 일 것입니다. 이것은 다음과 같이 할 수 있습니다. 드라이버를 액세스 할 수있는 것처럼 보이는
hooks.js
var myHooks = function() {
this.registerHandler('AfterFeatures', function (event, callback) {
console.log('----- AfterFeatures hook');
// This will not work as the World is no longer valid after the features
// outside cucumber
//this.visit('/quit', callback);
// But the browser is now handled by Protractor so you can do this
browser.get('/quit').then(callback);
});
};
module.exports = myHooks;
는 약간의 오해의 소지가 오이-JS GitHub의 저장소에
module.exports = function() {
this.World = function World(callback) {
this.visit = function(url) {
console.log('visit ' + url);
return browser.get(url);
};
callback();
};
}
AfterFeatures 예를 world.js 당신을 이전에 세계에 등록되었습니다. 그러나 당신이 순수한 오이 j만을 사용하고 있다면, 나는 그 일을 보지 못했습니다.
그런데 registerHandler 대신에 이것을 사용할 수 있습니다.
this.AfterFeatures(function (event, callback) {
browser.get('/quit').then(callback);
});
희망이 있습니다.
'BeforeFeatures'에서도 같은 동작을 보입니다. 서버와 같은 것들이'BeforeFeatures'에서 시작되고'AfterFeatures'에서 정리되는 것이 가장 이상합니다. 그러나 현재는 당신이 말하는 것처럼 세계는 잠시 동안 자신의 발행 보드에서 버그로 제기되어 하나의 이정표이지만, 언제 완료 될지 확신하지 못합니다. https://github.com/cucumber/cucumber-js/issues/165 – Grofit