Angular Protactor测试从html获取h1文本

时间:2018-07-31 10:52:09

标签: html angular selenium protractor end-to-end

我在端到端测试中非常新。在我的应用程序中,我有一个登录页面,我想在用户从应用程序注销时向其显示。现在div内有一个文本h1。但是我没有从那个div得到文本,这就是为什么预期结果与实际结果不同的原因。

这是我的登录页面html。

<div *ngIf="!isLoggedIn" class="login-controller">


    <div layout="column" class="login-dialog">

        <h1>Here is a heading</h1>
        <h2>Second Heading</h2>
        <div class="border">

           ...
        </div>
    </div>
</div>

这是我的app.po.ts

    async getLogInPage(){
    return await element(by.css('h1')).getText();
    }

    async logoutOfApplication() {
    var userMenu = element(by.css(".prof-dropbtn > span"));
    browser.wait(ExpectedConditions.presenceOf(userMenu), 10000);
    await userMenu.click();

    var logoutButton = element(by.id("logout"));
    await logoutButton.click();
  }

现在app.e2e-spec.ts

    it('Test for logout', () => {
    page.logoutOfApplication();
    expect(page.getLogInPage()).toEqual('Here is a heading');
    page.loginToApplication("email.com", "demo");
  });

1 个答案:

答案 0 :(得分:0)

如果要获取h1值,则必须这样写

it('Test for logout', () => {
        page.logoutOfApplication();           
        expect(element.all(by.css('.login-dialog h1')).getText()).toEqual('Here is a heading');
        page.loginToApplication("eamil.com", "demo");
      });