我是打字稿的新手,我想写一个承诺,根据下拉列表中的文字选择选项。 这就是我正在做的事情,但它失败了 -
case 'SelectFromList':
return new Promise( (resolve, reject) => {
this.retrieveElement(driverscr.getPageElementFromJson(screenName, fieldName)) // retrieveElement gets the page element.
.click()
.then(() => {
resolve();
})
.thenCatch( () => {
reject();
});
});
答案 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();
}