2017-03-14 85 views
0

我是新來的打字稿,我想寫一個承諾,從下拉菜單中選擇基於文本的選項。 這是我在做什麼,但它的失敗 -承諾從打字稿中的下拉列表中選擇

case 'SelectFromList': 
    return new Promise((resolve, reject) => { 
     this.retrieveElement(driverscr.getPageElementFromJson(screenName, fieldName)) // retrieveElement gets the page element. 
      .click() 
      .then(() => { 
       resolve(); 
      }) 
      .thenCatch(() => { 
       reject(); 
      }); 
     }); 
+0

@TehBeardedOne在這一個上的任何線索? – AYa

+0

我從來沒有試過按照你在這裏做的方式選擇下拉選項。我以其他方式取得了成功,但我不確定如何以這種方式做到這一點。 – tehbeardedone

回答

0

正如我在評論中提及上面我從來沒有試圖從下拉列表中選擇一個項目,你正在做的方式。這是一個過去爲我工作的例子。在我的示例中,我有一個下拉菜單,其中包含要添加用戶的域的列表。我找到與我正在查找的域匹配的選項並單擊它。希望這可以幫助您找到解決方案。

public static domainSelectorList = element.all(by.repeater("d in vm.customer.domains") 

public static addUserToDomain(domain: string): Promise<void> { 
    return this.domainSelectorList.filter((elem: ElementFinder) => 
     elem.getWebElement() 
      .getInnerHtml() 
      .then((innerHtml: string) => 
       innerHtml.indexOf(`@${domain}`) > -1)).first().click(); 
}