首页 > 解决方案 > Angular 9 e2e 测试多个应用程序

问题描述

我有一个 Angular 9 应用程序。它有2个项目。如果我运行 e2e 测试。它在整个应用程序上运行。即,如果我查找 h1 标签,它会采用默认的应用程序根 h1 标签。我无法让它访问项目 1 或项目 2。如何添加/编写 e2e 测试,例如测试项目 1 中的导航菜单?

这是我的文件夹结构:

-- 整体角度
  -- e2e
  -- 项目
    --project-a
      --e2e (我已经手动把它放在这里,不确定是否需要,放在哪里)
        --src
          --nav.bar.e2e- spec.ts
          --nav-bar.po.ts
        --protractor.conf.js
        --tsconfig.e2e.json
      --src
          -- app(然后是所有通常的项目/应用文件)
    --project-b
  --源代码

我想我需要在全局 e2e 配置文件中设置一些东西吗?也许是 angular.json 文件。甚至是实际项目中的 e2e 配置?

导航栏.pot-ts

import { browser, by, element, ElementFinder, promise } from 'protractor';

export class NavBar {
    navigateToBio():promise.Promise<any> {
        return browser.get('/bio');
    }

    getBioPage():promise.Promise<any>  {
        return element(by.css('h1')).getText();
    }
}

导航栏.e2e-spec.ts

import { NavBar } from './nav-bar.po';
import { browser, protractor, element, by } from 'protractor';

describe('Nav bar', () => {  
    let navBar: NavBar = new NavBar();

    beforeEach(() => {
        navBar.navigateToLead();
    });
   
    it('should display the bio page', () => {
        navBar.navigateToBio();
        expect(navBar.getBioPage()).toEqual("bio page");
    });

  });

错误:

在控制台中它说:

(通过默认的 e2e 测试) workspace-project App √ 应该显示欢迎消息

(我的失败)导航栏×应该显示引导页面 - 预期“欢迎使用整体角度!” 等于“生物页面”。

如果您需要更多信息,请告诉我:-)

标签: angularprotractore2e-testingangular9angular-e2e

解决方案


推荐阅读