2
こんにちは私は分度器を初めて使っています。私は以下の2つの関数を持っています。最初の関数は2番目の関数でそれ。私はclickRowElementUsingRowTextAndColumnName
に最初の関数に適用されるthen
機能の「結果」オブジェクトを使用しようとしていますたび分度器 - 別の関数から1つの関数値を使用する問題
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);
});
});
は、その値は未定義来ています。それで私を助けてください。
特定の列インデックスのxpathを形成し、その上で操作を実行するためには、この結果値を渡す必要があります。
'colEle.getText()' promiseから 'return(text.indexOf(columnName)+ 1)'という値を返すべきです。 –