Hallo ich bin neu zu Winkelmesser, ich habe unter zwei Funktionen, die erste Funktion gibt ein Versprechen, das ich in der 2. Funktion verwenden möchte, um Wert von ihm zu erhalten und zu verwenden es.Winkelmesser - Problem bei der Verwendung eines Funktionswerts von einer anderen Funktion
getColumnNumber(columnName) {
this.eh.waitForElement(this.GridsEleMap.get("HeaderTableHeaderRow"));
var colEle = this.GridsEleMap.get("HeaderTableHeaderRow").all(by.xpath(".//td//div[contains(@class,'text-content')]"));
return colEle.getText().then(function (text) {
var actIndex = text.indexOf(columnName) + 1;
logger.info("Column Index:" + actIndex);
});
}
clickRowElementUsingRowTextAndColumnName(rowText, columnName) {
var ele = this.GridsEleMap.get("BodyTable");
return this.getColumnNumber(columnName).then(function (result) {
logger.info("Text:" + result);
var cellEle = ele.all(by.xpath(".//tr//td[" + result + "]//div[@class='virtualLink']"));
logger.info("Result:" + cellEle);
return cellEle.filter(function (elem) {
browser.actions().mouseMove(elem).perform();
browser.sleep(50);
return elem.getText().then(function (text) {
return text.trim() === rowText.trim();
});
}).each(function (element) {
browser.actions().mouseMove(element).perform();
element.click();
browser.sleep(10*1000);
});
});
Jedes Mal, wenn ich versuche, „Ergebnis“ Objekt der then
Funktion auf erster Funktion in clickRowElementUsingRowTextAndColumnName
angewandt zu verwenden, kommt sein Wert als nicht definiert. Bitte hilf mir dabei.
Ich muss diesen Ergebniswert übergeben, um einen Xpath des bestimmten Spaltenindex zu bilden und Operation auf ihm durchzuführen.
Sie sollten den Wert 'return (text.indexOf (columnName) + 1)' aus 'colEle.getText()' promise zurückgeben. –