Ich arbeite an eckigen App-Automatisierung, wo ich eine gemeinsame Funktion geschrieben habe, die an mehreren Stellen in meinen Tests aufgerufen werden muss, um die Form-ID, die dynamisch generiert. Diese Funktion wird mir immer wiederkehr {[[PromiseStatus]]: "pending"}. "] FehlerBrauchen Sie Browser-URL Teilstring innerhalb der Funktion
CommonFunctions.js
var common_functions = function() {
this.getFormId = function() {
// var url = "http://localhost/test/#/submission/207/form/1976";
return browser.getCurrentUrl().then(function(url){
return url.substr(-4);
});
}
};
Nun ist diese Funktion in Pageobject-Datei verwendet wird, um zu erhalten der Elementpositionierer
Datei Pageobject:.
var general_information = function() {
this.street1 = function(field1) {
var formid = common_functions.getFormId();
var street="fieldValue.street1_".concat(formid);
element(by.model(street)).sendKeys(field1);
}
Schließlich, wenn ich diese Funktion in meinem Testskript aufrufen, erhalte ich einen Fehler.
Testskript:
it("Verify that user is able to fill values in general information", function(){
general_information.street1('Street Victoria');
general_information.zipCode('1004');
});
Ausnahme erscheinen:
Failed: invalid element state: Failed to execute 'querySelectorAll' on 'Document': '[ng-model="fieldValue.street1_Promise::1833 {[[PromiseStatus]]: "pending"}"]' is not a valid selector.
(Session info: chrome=50.0.2661.94)
(Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 6.1 SP1 x86_64)
Kann jemand mir helfen, mit dieser, wo ich es falsch mache?
Dank alecxe ... Das funktioniert !! Mir war irgendwie bewusst, dass Promise nicht gelöst wird, aber keine Änderungen vorgenommen hat !! – AnuragT