diff --git a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts index 90ef75c2274b..edac384cca34 100644 --- a/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts +++ b/packages/angular_devkit/build_angular/src/builders/dev-server/specs/works_spec.ts @@ -34,7 +34,7 @@ describe('Dev Server Builder', () => { expect(output.success).toBe(true); // When webpack-dev-server doesn't have `contentBase: false`, this will serve the repo README. - const response = await fetch('http://localhost:4200/README.md', { + const response = await fetch(`http://localhost:${output.port}/README.md`, { headers: { 'Accept': 'text/html', }, diff --git a/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js b/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js index 9b57663994c9..8526d6983af4 100644 --- a/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js +++ b/packages/angular_devkit/build_angular/test/hello-world-app/protractor.conf.js @@ -23,7 +23,7 @@ exports.config = { }, }, directConnect: true, - baseUrl: 'http://localhost:4200/', + baseUrl: 'http://localhost:0/', framework: 'jasmine', jasmineNodeOpts: { showColors: true, diff --git a/packages/schematics/angular/e2e/files/protractor.conf.js.template b/packages/schematics/angular/e2e/files/protractor.conf.js.template index 361e7f0cdfa1..fae06960cf8a 100644 --- a/packages/schematics/angular/e2e/files/protractor.conf.js.template +++ b/packages/schematics/angular/e2e/files/protractor.conf.js.template @@ -17,7 +17,7 @@ exports.config = { }, directConnect: true, SELENIUM_PROMISE_MANAGER: false, - baseUrl: 'http://localhost:4200/', + baseUrl: 'http://localhost:0/', framework: 'jasmine', jasmineNodeOpts: { showColors: true, diff --git a/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js b/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js index f07dcd519768..878ab4375bf4 100644 --- a/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js +++ b/tests/legacy-cli/e2e/assets/12.0-project/e2e/protractor.conf.js @@ -14,7 +14,7 @@ exports.config = { browserName: 'chrome', }, directConnect: true, - baseUrl: 'http://localhost:4200/', + baseUrl: 'http://localhost:0/', framework: 'jasmine', jasmineNodeOpts: { showColors: true, diff --git a/tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js b/tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js index f07dcd519768..878ab4375bf4 100644 --- a/tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js +++ b/tests/legacy-cli/e2e/assets/13.0-project/e2e/protractor.conf.js @@ -14,7 +14,7 @@ exports.config = { browserName: 'chrome', }, directConnect: true, - baseUrl: 'http://localhost:4200/', + baseUrl: 'http://localhost:0/', framework: 'jasmine', jasmineNodeOpts: { showColors: true, diff --git a/tests/legacy-cli/e2e/tests/basic/e2e.ts b/tests/legacy-cli/e2e/tests/basic/e2e.ts index 320ae22682ac..f4f1c3b42dfa 100644 --- a/tests/legacy-cli/e2e/tests/basic/e2e.ts +++ b/tests/legacy-cli/e2e/tests/basic/e2e.ts @@ -5,6 +5,6 @@ export default async function () { await expectToFail(() => silentNg('e2e', 'test-project', '--dev-server-target=')); // These should work. - await silentNg('e2e', 'test-project'); - await silentNg('e2e', 'test-project', '--dev-server-target=test-project:serve'); + await silentNg('e2e', '--port=0', 'test-project'); + await silentNg('e2e', '--port=0', 'test-project', '--dev-server-target=test-project:serve'); } diff --git a/tests/legacy-cli/e2e/tests/basic/standalone.ts b/tests/legacy-cli/e2e/tests/basic/standalone.ts index 204d0572f87f..74ac69b0f97c 100644 --- a/tests/legacy-cli/e2e/tests/basic/standalone.ts +++ b/tests/legacy-cli/e2e/tests/basic/standalone.ts @@ -54,5 +54,5 @@ export default async function () { await ng('build'); // Perform the default E2E tests - await ng('e2e', 'test-project'); + await ng('e2e', '--port=0', 'test-project'); } diff --git a/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts b/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts index 62f3cf294ba1..ba02dcaa369f 100644 --- a/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts +++ b/tests/legacy-cli/e2e/tests/build/lazy-load-syntax.ts @@ -98,6 +98,6 @@ export default async function () { // Both Ivy and View Engine should support it. await replaceLoadChildren(`() => import('./lazy/lazy.module').then(m => m.LazyModule)`); - await ng('e2e'); - await ng('e2e', '--configuration=production'); + await ng('e2e', '--port=0'); + await ng('e2e', '--port=0', '--configuration=production'); } diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts index c20142e4a229..72b038f1176c 100644 --- a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-aot.ts @@ -8,6 +8,6 @@ export default async function () { await ng('build', 'my-lib', '--configuration=development'); // Check that the e2e succeeds prod and non prod mode - await ng('e2e', '--configuration=production'); - await ng('e2e', '--configuration=development'); + await ng('e2e', '--port=0', '--configuration=production'); + await ng('e2e', '--port=0', '--configuration=development'); } diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts index 070fc614f9f8..2983b9f97bc2 100644 --- a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-full-jit.ts @@ -17,8 +17,8 @@ export default async function () { }); // Check that the e2e succeeds prod and non prod mode - await ng('e2e', '--configuration=production'); - await ng('e2e', '--configuration=development'); + await ng('e2e', '--port=0', '--configuration=production'); + await ng('e2e', '--port=0', '--configuration=development'); // Validate that sourcemaps for the library exists. await ng('build', '--configuration=development'); diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts index 647e8b1ee9b7..57ddb7fe01a2 100644 --- a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-aot.ts @@ -8,6 +8,6 @@ export default async function () { await ng('build', 'my-lib', '--configuration=production'); // Check that the e2e succeeds prod and non prod mode - await ng('e2e', '--configuration=production'); - await ng('e2e', '--configuration=development'); + await ng('e2e', '--port=0', '--configuration=production'); + await ng('e2e', '--port=0', '--configuration=development'); } diff --git a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts index 6c13b5468f2a..b714eb4c564d 100644 --- a/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts +++ b/tests/legacy-cli/e2e/tests/build/library/lib-consumption-partial-jit.ts @@ -16,6 +16,6 @@ export default async function () { }); // Check that the e2e succeeds prod and non prod mode - await ng('e2e', '--configuration=production'); - await ng('e2e', '--configuration=development'); + await ng('e2e', '--port=0', '--configuration=production'); + await ng('e2e', '--port=0', '--configuration=development'); } diff --git a/tests/legacy-cli/e2e/tests/build/material.ts b/tests/legacy-cli/e2e/tests/build/material.ts index a010ea834791..5e876a32bbe4 100644 --- a/tests/legacy-cli/e2e/tests/build/material.ts +++ b/tests/legacy-cli/e2e/tests/build/material.ts @@ -77,5 +77,5 @@ export default async function () { `, ); - await ng('e2e', '--configuration=production'); + await ng('e2e', '--port=0', '--configuration=production'); } diff --git a/tests/legacy-cli/e2e/tests/build/worker.ts b/tests/legacy-cli/e2e/tests/build/worker.ts index a930a8ce3ff2..3e3e8a0637c9 100644 --- a/tests/legacy-cli/e2e/tests/build/worker.ts +++ b/tests/legacy-cli/e2e/tests/build/worker.ts @@ -51,5 +51,5 @@ export default async function () { `, ); - await ng('e2e'); + await ng('e2e', '--port=0'); } diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts b/tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts index 6333c05be279..97fbd3199ead 100644 --- a/tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts +++ b/tests/legacy-cli/e2e/tests/commands/e2e/e2e-and-serve.ts @@ -5,7 +5,7 @@ export default async function () { try { // Should run side-by-side with `ng serve` await ngServe(); - await silentNg('e2e'); + await silentNg('e2e', '--port=0'); } finally { killAllProcesses(); } diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts b/tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts index c7da20adf900..be236ff9b802 100644 --- a/tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts +++ b/tests/legacy-cli/e2e/tests/commands/e2e/multiple-specs.ts @@ -8,6 +8,7 @@ export default async function () { await silentNg( 'e2e', + '--port=0', 'test-project', '--specs', './e2e/renamed-app.e2e-spec.ts', diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts b/tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts index 52e9494e4062..9d25d26d2b0e 100644 --- a/tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts +++ b/tests/legacy-cli/e2e/tests/commands/e2e/protractor-config.ts @@ -4,5 +4,10 @@ import { silentNg } from '../../../utils/process'; export default async function () { // Should accept different config file await moveFile('./e2e/protractor.conf.js', './e2e/renamed-protractor.conf.js'); - await silentNg('e2e', 'test-project', '--protractor-config=e2e/renamed-protractor.conf.js'); + await silentNg( + 'e2e', + '--port=0', + 'test-project', + '--protractor-config=e2e/renamed-protractor.conf.js', + ); } diff --git a/tests/legacy-cli/e2e/tests/commands/e2e/suite.ts b/tests/legacy-cli/e2e/tests/commands/e2e/suite.ts index 519ed63a71bb..ad91a579a8cb 100644 --- a/tests/legacy-cli/e2e/tests/commands/e2e/suite.ts +++ b/tests/legacy-cli/e2e/tests/commands/e2e/suite.ts @@ -12,5 +12,5 @@ export default async function () { }, `, ); - await silentNg('e2e', 'test-project', '--suite=app'); + await silentNg('e2e', '--port=0', 'test-project', '--suite=app'); } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts index 9a5943043ffd..2b11bb092695 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-es2015-e2e.ts @@ -7,6 +7,6 @@ export default async function () { for (const { lang } of langTranslations) { // Execute Application E2E tests with dev server - await ng('e2e', `--configuration=${lang}`, '--port=0'); + await ng('e2e', '--port=0', `--configuration=${lang}`, '--port=0'); } } diff --git a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts index 8c27229fc4cf..04a5ebdee45a 100644 --- a/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts +++ b/tests/legacy-cli/e2e/tests/i18n/ivy-localize-locale-data-augment.ts @@ -40,6 +40,6 @@ export default async function () { await expectFileToMatch(`${outputPath}/vendor.js`, lang); // Execute Application E2E tests with dev server - await ng('e2e', `--configuration=${lang}`, '--port=0'); + await ng('e2e', '--port=0', `--configuration=${lang}`); } } diff --git a/tests/legacy-cli/e2e/tests/misc/browsers.ts b/tests/legacy-cli/e2e/tests/misc/browsers.ts index c6a01b2552ba..fa045a9d6644 100644 --- a/tests/legacy-cli/e2e/tests/misc/browsers.ts +++ b/tests/legacy-cli/e2e/tests/misc/browsers.ts @@ -46,6 +46,7 @@ export default async function () { // Execute application's E2E tests with SauceLabs await ng( 'e2e', + '--port=0', 'test-project', '--protractor-config=e2e/protractor-saucelabs.conf.js', '--dev-server-target=', diff --git a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts index 398beb0599e5..58c71c6912f1 100644 --- a/tests/legacy-cli/e2e/tests/misc/e2e-host.ts +++ b/tests/legacy-cli/e2e/tests/misc/e2e-host.ts @@ -19,6 +19,6 @@ export default async function () { appArchitect.serve.options.host = host; }); - await ng('e2e'); - await ng('e2e', '--host', host); + await ng('e2e', '--port=0'); + await ng('e2e', '--port=0', '--host', host); } diff --git a/tests/legacy-cli/e2e/tests/misc/http-headers.ts b/tests/legacy-cli/e2e/tests/misc/http-headers.ts index 4f5ff6949621..242c06241c14 100644 --- a/tests/legacy-cli/e2e/tests/misc/http-headers.ts +++ b/tests/legacy-cli/e2e/tests/misc/http-headers.ts @@ -26,7 +26,7 @@ export default async function () { let errorMessage: string | null = null; try { - await ng('e2e'); + await ng('e2e', '--port=0'); } catch (error) { errorMessage = error instanceof Error ? error.message : null; } diff --git a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts index f57580ff2b5e..78f6c9596010 100644 --- a/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts +++ b/tests/legacy-cli/e2e/tests/misc/third-party-decorators.ts @@ -165,5 +165,5 @@ export default async function () { }); // Run the e2e tests against a production build. - await ng('e2e', '--configuration=production'); + await ng('e2e', '--port=0', '--configuration=production'); } diff --git a/tests/legacy-cli/e2e/tests/misc/trusted-types.ts b/tests/legacy-cli/e2e/tests/misc/trusted-types.ts index 4efb8b9f70e3..b1289f204040 100644 --- a/tests/legacy-cli/e2e/tests/misc/trusted-types.ts +++ b/tests/legacy-cli/e2e/tests/misc/trusted-types.ts @@ -69,7 +69,7 @@ export default async function () { }); try { - await ng('e2e'); + await ng('e2e', '--port=0'); } catch (error) { console.error(`Test case AOT ${aot} with CSP header ${csp} failed.`); throw error; diff --git a/tests/legacy-cli/e2e/tests/update/update.ts b/tests/legacy-cli/e2e/tests/update/update.ts index 25812d3045a5..1507483d4176 100644 --- a/tests/legacy-cli/e2e/tests/update/update.ts +++ b/tests/legacy-cli/e2e/tests/update/update.ts @@ -79,8 +79,8 @@ export default async function () { await ng('generate', 'component', 'my-comp'); await ng('test', '--watch=false'); - await ng('e2e'); - await ng('e2e', '--configuration=production'); + await ng('e2e', '--port=0'); + await ng('e2e', '--port=0', '--configuration=production'); // Verify project now creates bundles await noSilentNg('build', '--configuration=production');