mirror of
https://github.com/angular/angular-cli.git
synced 2025-05-18 03:23:57 +08:00
feat(@schematics/angular): generate E2E tests with native promise support
This change adjusts the E2E schematic to generate a protractor configuration with the selenium promise manager disabled. It also adjusts the generated test files to use native promises and async/await to control test execution.
This commit is contained in:
parent
d4eaab2579
commit
0bdea8ddea
@ -16,6 +16,7 @@ exports.config = {
|
|||||||
browserName: 'chrome'
|
browserName: 'chrome'
|
||||||
},
|
},
|
||||||
directConnect: true,
|
directConnect: true,
|
||||||
|
SELENIUM_PROMISE_MANAGER: false,
|
||||||
baseUrl: 'http://localhost:4200/',
|
baseUrl: 'http://localhost:4200/',
|
||||||
framework: 'jasmine',
|
framework: 'jasmine',
|
||||||
jasmineNodeOpts: {
|
jasmineNodeOpts: {
|
||||||
|
@ -8,9 +8,9 @@ describe('workspace-project App', () => {
|
|||||||
page = new AppPage();
|
page = new AppPage();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should display welcome message', () => {
|
it('should display welcome message', async () => {
|
||||||
page.navigateTo();
|
await page.navigateTo();
|
||||||
expect(page.getTitleText()).toEqual('<%= relatedAppName %> app is running!');
|
expect(await page.getTitleText()).toEqual('<%= relatedAppName %> app is running!');
|
||||||
});
|
});
|
||||||
|
|
||||||
afterEach(async () => {
|
afterEach(async () => {
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import { browser, by, element } from 'protractor';
|
import { browser, by, element } from 'protractor';
|
||||||
|
|
||||||
export class AppPage {
|
export class AppPage {
|
||||||
navigateTo(): Promise<unknown> {
|
async navigateTo(): Promise<unknown> {
|
||||||
return browser.get(browser.baseUrl) as Promise<unknown>;
|
return browser.get(browser.baseUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
getTitleText(): Promise<string> {
|
async getTitleText(): Promise<string> {
|
||||||
return element(by.css('<%= rootSelector %> .content span')).getText() as Promise<string>;
|
return element(by.css('<%= rootSelector %> .content span')).getText();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
"target": "es2018",
|
"target": "es2018",
|
||||||
"types": [
|
"types": [
|
||||||
"jasmine",
|
"jasmine",
|
||||||
"jasminewd2",
|
|
||||||
"node"
|
"node"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -25,8 +25,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@angular/cli": "<%= '~' + version %>",
|
"@angular/cli": "<%= '~' + version %>",
|
||||||
"@angular/compiler-cli": "<%= latestVersions.Angular %>",<% if (!minimal) { %>
|
"@angular/compiler-cli": "<%= latestVersions.Angular %>",<% if (!minimal) { %>
|
||||||
"@types/jasmine": "~3.5.0",
|
"@types/jasmine": "~3.5.0",<% } %>
|
||||||
"@types/jasminewd2": "~2.0.3",<% } %>
|
|
||||||
"@types/node": "^12.11.1",<% if (!minimal) { %>
|
"@types/node": "^12.11.1",<% if (!minimal) { %>
|
||||||
"codelyzer": "^6.0.0",
|
"codelyzer": "^6.0.0",
|
||||||
"jasmine-core": "~3.6.0",
|
"jasmine-core": "~3.6.0",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user