gpt4 book ai didi

typescript - 如何在 TypeScript 中反射(reflect) Protractor (WebDriver) Action 的链接 (ControlFlow)

转载 作者:搜寻专家 更新时间:2023-10-30 21:01:59 26 4
gpt4 key购买 nike

在 Protractor 测试中,可以像这样在元素上链接诸如“clear”和“sendKeys”之类的操作:

element(by.id('myId')).clear().sendKeys('123456789')

我喜欢它简洁的风格。但它为什么有效?

根据 webdriver.Element.clear() 的 API 文档,clear() 的返回类型是 webdriver.promise.Promise.<void>

当我使用 TypeScript (1.8.x) 编译它时,编译器提示 sendKeys() 上没有名为 Promise 的属性。我认为事实确实如此。

我相信由于 WebDriver ControlFlow Magic ,这在运行时有效。

我如何扩展 Protractor 的 TypeScript Declaration File,以反射(reflect)这种 ControlFlow-Magic 并让我的 TypeScript 编译器满意?

最佳答案

您可以将其转换为类型 <any>像这样:

(<any> someInput.clear()).sendKeys()

丑陋,但没有 TS 投诉。

关于typescript - 如何在 TypeScript 中反射(reflect) Protractor (WebDriver) Action 的链接 (ControlFlow),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37924866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com