Angular 团队在 Angular 12 中讨论了 protractor 的未来,但并没有官方宣布废弃 protractor。不过,推荐使用 @angular/cli 中的标准测试工具代替 protractor。
以下是使用 Karma 和 Jasmine 测试 Angular 应用的示例:
npm install --save-dev karma jasmine jasmine-core @types/jasmine karma-jasmine karma-chrome-launcher
npx karma init
module.export = (config) => {
  config.set({
    frameworks: ['jasmine'],
    files: [
      'src/**/*.spec.ts'
    ],
    reporters: ['progress', 'coverage'],
    coverageReporter: {
      type: 'html',
      dir: 'coverage/',
      subdir: '.'
    },
    browsers: ['Chrome'],
    port: 9876,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    singleRun: false,
    restartOnFileChange: true,
  });
};
"test": "ng test --code-coverage"
npm run test
如果需要使用 E2E 测试,请使用 Protractor 或 Cypress。