【问题标题】:Promise to select from dropdown in typescript承诺从打字稿的下拉菜单中选择
【发布时间】:2017-08-05 01:00:10
【问题描述】:

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

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

【问题讨论】:

  • @TehBeardedOne 关于这个有什么线索吗?
  • 我从未尝试过像您在此处那样选择下拉选项。我已经通过其他方式取得了成功,但我不确定如何以这种方式做到这一点。

标签: angularjs selenium typescript promise protractor


【解决方案1】:

正如我在上面的评论中提到的那样,我从未尝试过像您那样从下拉列表中选择一个项目。这是一个过去对我有用的例子。在我的示例中,我有一个下拉菜单,其中包含要添加用户的域列表。我找到与我正在寻找的域匹配的选项并单击它。希望这可以帮助您找到解决方案。

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();
}

【讨论】:

    猜你喜欢
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 2014-11-28
    • 2020-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多