Hallo,
Nachdem die Gurkenversion aktualisiert wurde, stoße ich auf ein Problem und verstehe nicht genau, wie ich es beheben kann:
Gurken-Event-Handlern, die über registerHandler angehängt sind, wird jetzt das zugehörige Objekt anstelle eines Ereignisses übergeben
getPayloadItem wird in der nächsten Hauptversion entfernt
C:dev\Topic Analyst\Frontend\node_modules\gurke\lib\gurke\runtime\event_broadcaster.js:30
Fehler werfen;
^
Die Funktion akzeptiert einen Callback und gibt ein Promise zurück
0 Bestanden (3.30s)
[10:43:31] 'Gurke' nach 3,51 s fehlerhaft
[10:43:31] Fehler im Plugin 'gulp-webdriver'
Nachricht:
wdio wurde mit Code 1 beendet
Irgendeine Idee? Ist das Schluck-Gurke-Problem oder...?
das ist Gurke:
In einem Ihrer Hooks oder Schritte haben Sie einen Callback als Funktionsparameter eingefügt und ihn dann nicht aufgerufen:
z.B
this.Before(function(scenario, callback ) {
etwas zurückbringen();
});
Wenn Sie also ein Versprechen zurückgeben, entfernen Sie einfach "Rückruf" als Parameter => Funktion (Szenario) {...}
oder
Verwenden Sie einfach Ihren Rückruf am Ende: callback()
nein, wir machen so etwas nicht, stattdessen hakten wir uns an den Hook „beforeFeature“ von gulp-cucumber. Dies könnte ein Problem sein. gulp-cucumber verwendet Callback, nehme ich an?
Können Sie Ihren BeforeFeature-Code angeben?
Sie finden es auf:
Können Sie gulp dazu bringen, einen Stacktrace zu drucken? Auf diese Weise können wir möglicherweise feststellen, wo sich der fehlerhafte Code befindet. Die einzige aktuelle Änderung besteht darin, dass registerHandler einen ähnlichen Fehler auslöst, wie er von @SkadeGlad beschrieben wird.
Ich fürchte, aber das ist alles Stack-Trace, das ich sehe :(
Ich glaube, der Fehler liegt in https://github.com/webdriverio/wdio-cucumber-framework
@vytautas-pranskunas- kann das geschlossen werden? Scheint wdio-gurken-framework wurde aktualisiert
Ja. Danke
Mit cucumber-js 1.3.1
erhalte ich diese Warnung:
cucumber event handlers attached via registerHandler are now passed the associated object instead of an event
getPayloadItem will be removed in the next major release
Meine Haken sind:
var Hooks = function() {
this.BeforeFeature(function (event, callback) {
Context.feature = event.getPayloadItem('feature');
callback();
});
this.BeforeScenario(function (event, callback) {
Context.scenario = event.getPayloadItem('scenario');
callback();
});
this.BeforeStep(function (event, callback) {
Context.step = event.getPayloadItem('step');
callback();
});
};
Was muss ich ändern?
@iongion Ich habe das gleiche Problem https://github.com/mattfritz/protractor-cucumber-framework/issues/55 und https://github.com/mattfritz/protractor-cucumber-framework/issues/38
Dieser Thread wurde automatisch gesperrt, da es nach seiner Schließung keine Aktivitäten mehr gegeben hat. Bitte öffnen Sie ein neues Problem für verwandte Fehler.
Hilfreichster Kommentar
das ist Gurke:
In einem Ihrer Hooks oder Schritte haben Sie einen Callback als Funktionsparameter eingefügt und ihn dann nicht aufgerufen:
z.B
this.Before(function(scenario, callback ) {
etwas zurückbringen();
});
Wenn Sie also ein Versprechen zurückgeben, entfernen Sie einfach "Rückruf" als Parameter => Funktion (Szenario) {...}
oder
Verwenden Sie einfach Ihren Rückruf am Ende: callback()