puppeteer/packages/ng-schematics/README.md
Nikolay Vitkov 689a084251
chore(ng-schematics): Spawn server when running ng e2e (#9306)
**What kind of change does this PR introduce?**

Spawn own server when running `ng e2e`. Give user option to not replace
`ng e2e`.

**Did you add tests for your changes?**

Yes.

**If relevant, did you update the documentation?**

Yes, `ng-schematics` README.md updated.

**Summary**

When running `ng-schematics`'s `ng e2e` command spawns it's own server.
This way we remove the need of developers to run `ng server` separately
thus increasing ease of use in development and CI.

We want to support Protractor migration so we give the user the option
to opt out of replacing `ng e2e` so they can have a gradual migration.
(Note: There may be issues with folder conflicts, to be address in a PR
for adding better Migration support)

**Does this PR introduce a breaking change?**

Yes, as we don't check if required options are there before spawning the
server.

**Other information**

Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2022-11-23 13:10:03 +01:00

2.2 KiB

Puppeteer Angular Schematic

Adds Puppeteer-based e2e tests to your Angular project.

Usage

Run the command bellow in an Angular CLI app directory and follow the prompts. Note this will add the schematic as a dependency to your project.

ng add @puppeteer/ng-schematics

Or you can use the same command followed by the options bellow.

Currently, this schematic supports the following test frameworks:

With the schematics installed you can run E2E tests:

ng e2e

Note: Command spawns it's own server on the same port ng serve does.

Options

When adding schematics to your project you can to provide following options:

Option Description Value Required
--isDefaultTester When true, replaces default ng e2e command. boolean true
--exportConfig When true, creates an empty Puppeteer configuration file. (.puppeteerrc.cjs) boolean true
--testingFramework The testing framework to install along side Puppeteer. "jasmine", "jest", "mocha", "node" true

Contributing

Check out our contributing guide to get an overview of what you need to develop in the Puppeteer repo.

Unit Testing

The schematics utilize @angular-devkit/schematics/testing for verifying correct file creation and package.json updates. To execute the test suit:

npm run test