如何解决尝试使用量角器获取位置的“无法读取未定义的属性'应用'”?

时间:2019-04-23 15:35:31

标签: jasmine protractor

我正在尝试使用量角器(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的输入的坐标,但是不幸的是我遇到了异常。

1 个答案:

答案 0 :(得分:1)

量角器的CHANGELOG.md具有指向selenium-webdriver CHANGELOG的链接,其中列出:

  

针对W3C WebDriver规范合规性的更改

     
      
  • 将WebElement.getSize()和WebElement.getLocation()替换为   单一方法,WebElement.getRect()。
  •   

因此,看起来您应该使用.getRect()。

对于量角器6本身,这显然是文档问题。我们建议暂时使用5.4.2。