量角器-从非角度页面切换到角度页面:“等待量角器与页面同步时出错”

时间:2019-03-08 09:10:12

标签: angular protractor

我正在使用量角器来测试包含3个组件的应用程序:

  1. OpenAM非角度登录组件,
  2. 非角度应用程序组件,
  3. Angular应用程序组件。

首先,我使用OpenAM组件登录。在登录步骤之前,我包括了browser.waitForAngularEnabled(false),因为否则我会得到Angular could not be found on the page错误,这是完全合理的。 然后,我在非角度应用程序组件中执行了一些步骤,尽管我没有在步骤代码和conf文件中都没有包含browser.waitForAngularEnabled(false),但它们没有错误地执行。

然后,使用非角度应用程序组件内的链接,导航到角度应用程序组件,该组件将在新的浏览器选项卡中打开,并且所有地狱都无法解决。即使使用等待,睡眠等,也找不到页面上的任何元素,因此我尝试使用browser.waitForAngularEnabled(true),但是当我这样做时,我得到了

  

等待量角器与页面同步时出错:“两者   angularJS可测试性和角度可测试性未定义。”

有趣的是,当我从OpenAM登录页面直接导航到angular应用程序组件时,我没有遇到任何此类问题,并且所有步骤都可以正常执行。

这是登录规范:

 export class LoginPage {
  public async loginUsingCredentials(user, pass) {
    browser.waitForAngularEnabled(false);
    await browser.get(config.baseUrl);
    await username.sendKeys(user);
    await password.sendKeys(pass);
    await signIn.click();
  }

}

它作为BeforeAll挂钩执行。

其他测试步骤与此处发布无关。

重要的是,如果我使用browser.get('example:8080/angularapp')直接进入有角度的应用程序组件,所有步骤都将正确执行。 但是,如果我先进入主应用程序组件browser.get('example:8080'),然后在其中执行一些步骤,然后使用链接移至角度组件,则会收到如上所述的错误。

在两种情况下,角度分量的测试步骤均相同。同样在这两种情况下,我都需要先使用OpenAM登录。

0 个答案:

没有答案