2016-06-20 31 views
4

行动在量角器测试有可能链操作,例如“明确”的,在这样的一个元素“的SendKeys”:如何体现链接量角器(ControlFlow)(webdriver的)的打字稿

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

我就像它的小巧风格一样。但是它为什么起作用?

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

当我打字稿(1.8.x的)编译,编译器会抱怨没有财产称为sendKeys()Promise。而且我认为实际上是这样。

我相信这可以在运行时由于WebDriver ControlFlow Magic

如何扩展量角器的TypeScript Declaration File,以反映此ControlFlow-Magic并使我的TypeScript编译器高兴?

+1

那么,正确的返回值是'this',这是最近为明确链接目的而添加的。它需要是'Promise AND this'作为返回类型,但假设'this'已经是它应该有效的承诺。 –

回答

0

你可以将它转换为类型<any>像这样:

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

丑陋,但没有TS投诉工作。