我正在尝试使用量角器(v6.0.0)方法调用 getLocation()来获取元素的位置,但是出现以下异常:
TypeError: Cannot read property 'apply' of undefined
at <Jasmine>
at actionFn (/usr/lib/node_modules/protractor/built/element.js:95:44)
at <Jasmine>
at actionResults.getWebElements.then(/usr/lib/node_modules/protractor/built/element.js:468:44)
at <Jasmine>
at ElementArrayFinder.applyAction_(/usr/lib/node_modules/protractor/built/element.js:466:29)
有线索解决问题吗?
实际上我的代码非常简单。
it('should compare login page with a baseline', async () => {
let input = element(by.id('mat-input-1'));
await input.getLocation();
});
我希望输入ID为mat-input-1的输入的坐标,但是不幸的是我遇到了异常。
答案 0 :(得分:1)
量角器的CHANGELOG.md具有指向selenium-webdriver CHANGELOG的链接,其中列出:
针对W3C WebDriver规范合规性的更改
- 将WebElement.getSize()和WebElement.getLocation()替换为 单一方法,WebElement.getRect()。
因此,看起来您应该使用.getRect()。
对于量角器6本身,这显然是文档问题。我们建议暂时使用5.4.2。