承诺从打字稿中选择下拉列表

时间:2017-03-14 15:36:15

标签: angularjs selenium typescript promise protractor

我是打字稿的新手,我想写一个承诺,根据下拉列表中的文字选择选项。 这就是我正在做的事情,但它失败了 -

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

1 个答案:

答案 0 :(得分: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();
}