mirror of
https://github.com/angular/angular.git
synced 2026-09-14 13:54:52 +08:00
chore: reorganize e2e test files (#5032)
* Renames the e2e test file to match the pattern of `{{component}}-e2e.spec.ts`.
* Flattens the directory structure in the `e2e` directory. Having a separate dir for each component was overkill since only have one file per component.
* Fixes some inconsistent code styles in the Protractor config.
Fixes #5030.
This commit is contained in:
committed by
Andrew Seguin
parent
21f764c347
commit
8e6bee8116
+2
-2
@@ -1,6 +1,6 @@
|
||||
import {browser, Key, element, by} from 'protractor';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {getScrollPosition} from '../../util/index';
|
||||
import {screenshot} from '../screenshot';
|
||||
import {getScrollPosition} from '../util/index';
|
||||
|
||||
|
||||
describe('scroll blocking', () => {
|
||||
@@ -1,5 +1,5 @@
|
||||
import {browser, by, element, ExpectedConditions} from 'protractor';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
|
||||
describe('button', () => {
|
||||
@@ -1,5 +1,5 @@
|
||||
import {browser, by, element, Key, ExpectedConditions} from 'protractor';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
|
||||
describe('checkbox', () => {
|
||||
@@ -5,7 +5,7 @@ import {
|
||||
pressKeys,
|
||||
clickElementAtPoint,
|
||||
waitForElement,
|
||||
} from '../../util/index';
|
||||
} from '../util/index';
|
||||
|
||||
|
||||
describe('dialog', () => {
|
||||
@@ -1,6 +1,6 @@
|
||||
import {browser} from 'protractor';
|
||||
import {expectToExist} from '../../util/index';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {expectToExist} from '../util/index';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
describe('grid-list', () => {
|
||||
beforeEach(() => browser.get('/grid-list'));
|
||||
@@ -1,5 +1,5 @@
|
||||
import {browser, by, element} from 'protractor';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
|
||||
describe('icon', () => {
|
||||
@@ -1,6 +1,6 @@
|
||||
import {browser} from 'protractor';
|
||||
import {expectToExist} from '../../util/index';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {expectToExist} from '../util/index';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
describe('list', () => {
|
||||
beforeEach(() => browser.get('/list'));
|
||||
@@ -1,13 +1,12 @@
|
||||
import {Key, protractor} from 'protractor';
|
||||
import {MenuPage} from './menu-page';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {Key, protractor, browser, by, element, ElementFinder} from 'protractor';
|
||||
import {screenshot} from '../screenshot';
|
||||
import {
|
||||
expectToExist,
|
||||
expectAlignedWith,
|
||||
expectFocusOn,
|
||||
expectLocation,
|
||||
pressKeys,
|
||||
} from '../../util/index';
|
||||
} from '../util/index';
|
||||
|
||||
|
||||
describe('menu', () => {
|
||||
@@ -192,3 +191,22 @@ describe('menu', () => {
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
export class MenuPage {
|
||||
constructor() { browser.get('/menu'); }
|
||||
menu = () => element(by.css('.mat-menu-panel'));
|
||||
start = () => element(by.id('start'));
|
||||
trigger = () => element(by.id('trigger'));
|
||||
triggerTwo = () => element(by.id('trigger-two'));
|
||||
backdrop = () => element(by.css('.cdk-overlay-backdrop'));
|
||||
items = (index: number) => element.all(by.css('[md-menu-item]')).get(index);
|
||||
textArea = () => element(by.id('text'));
|
||||
beforeTrigger = () => element(by.id('before-t'));
|
||||
aboveTrigger = () => element(by.id('above-t'));
|
||||
combinedTrigger = () => element(by.id('combined-t'));
|
||||
beforeMenu = () => element(by.css('.mat-menu-panel.before'));
|
||||
aboveMenu = () => element(by.css('.mat-menu-panel.above'));
|
||||
combinedMenu = () => element(by.css('.mat-menu-panel.combined'));
|
||||
getResultText = () => this.textArea().getText();
|
||||
}
|
||||
@@ -1,33 +0,0 @@
|
||||
import {browser, by, element, ElementFinder} from 'protractor';
|
||||
|
||||
export class MenuPage {
|
||||
constructor() { browser.get('/menu'); }
|
||||
|
||||
menu(): ElementFinder { return element(by.css('.mat-menu-panel')); }
|
||||
|
||||
start(): ElementFinder { return element(by.id('start')); }
|
||||
|
||||
trigger(): ElementFinder { return element(by.id('trigger')); }
|
||||
|
||||
triggerTwo(): ElementFinder { return element(by.id('trigger-two')); }
|
||||
|
||||
backdrop(): ElementFinder { return element(by.css('.cdk-overlay-backdrop')); }
|
||||
|
||||
items(index: number): ElementFinder { return element.all(by.css('[md-menu-item]')).get(index); }
|
||||
|
||||
textArea(): ElementFinder { return element(by.id('text')); }
|
||||
|
||||
beforeTrigger(): ElementFinder { return element(by.id('before-t')); }
|
||||
|
||||
aboveTrigger(): ElementFinder { return element(by.id('above-t')); }
|
||||
|
||||
combinedTrigger(): ElementFinder { return element(by.id('combined-t')); }
|
||||
|
||||
beforeMenu(): ElementFinder { return element(by.css('.mat-menu-panel.before')); }
|
||||
|
||||
aboveMenu(): ElementFinder { return element(by.css('.mat-menu-panel.above')); }
|
||||
|
||||
combinedMenu(): ElementFinder { return element(by.css('.mat-menu-panel.combined')); }
|
||||
|
||||
getResultText() { return this.textArea().getText(); }
|
||||
}
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
import {browser} from 'protractor';
|
||||
import {expectToExist} from '../../util/index';
|
||||
import {expectToExist} from '../util/index';
|
||||
|
||||
describe('progress-bar', () => {
|
||||
beforeEach(() => browser.get('/progress-bar'));
|
||||
@@ -1,5 +1,5 @@
|
||||
import {browser, by, element, ExpectedConditions} from 'protractor';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
|
||||
describe('radio', () => {
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
import {browser, element, by, Key, ExpectedConditions} from 'protractor';
|
||||
import {expectToExist} from '../../util/index';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {expectToExist} from '../util/index';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
|
||||
describe('slide-toggle', () => {
|
||||
@@ -7,8 +7,8 @@ import {
|
||||
Key,
|
||||
ExpectedConditions
|
||||
} from 'protractor';
|
||||
import {pressKeys} from '../../util/index';
|
||||
import {screenshot} from '../../screenshot';
|
||||
import {pressKeys} from '../util/index';
|
||||
import {screenshot} from '../screenshot';
|
||||
|
||||
|
||||
describe('tabs', () => {
|
||||
@@ -1,9 +1,9 @@
|
||||
import {browser} from 'protractor';
|
||||
|
||||
describe('hello, protractor', function () {
|
||||
describe('index', function () {
|
||||
describe('hello, protractor', () => {
|
||||
describe('index', () => {
|
||||
browser.get('/');
|
||||
it('should have a title', function () {
|
||||
it('should have a title', () => {
|
||||
expect(browser.getTitle()).toBe('Angular Material');
|
||||
});
|
||||
});
|
||||
@@ -10,7 +10,7 @@ require('ts-node').register({
|
||||
const E2E_BASE_URL = process.env['E2E_BASE_URL'] || 'http://localhost:4200';
|
||||
const config = {
|
||||
useAllAngular2AppRoots: true,
|
||||
specs: [ path.join(__dirname, '../e2e/**/*.e2e.ts') ],
|
||||
specs: [ path.join(__dirname, '../e2e/**/*.spec.ts') ],
|
||||
baseUrl: E2E_BASE_URL,
|
||||
allScriptsTimeout: 120000,
|
||||
getPageTimeout: 120000,
|
||||
@@ -42,14 +42,14 @@ if (process.env['TRAVIS']) {
|
||||
config.capabilities = {
|
||||
'browserName': 'chrome',
|
||||
'version': 'latest',
|
||||
"chromedriverVersion": "2.28",
|
||||
'chromedriverVersion': '2.28',
|
||||
'tunnel-identifier': process.env['TRAVIS_JOB_ID'],
|
||||
'build': process.env['TRAVIS_JOB_ID'],
|
||||
'name': 'Material E2E Tests',
|
||||
|
||||
// Enables concurrent testing in the Webdriver. Currently runs five e2e files in parallel.
|
||||
maxInstances: 5,
|
||||
shardTestFiles: true,
|
||||
'maxInstances': 5,
|
||||
'shardTestFiles': true,
|
||||
|
||||
// By default Saucelabs tries to record the whole e2e run. This can slow down the builds.
|
||||
'recordVideo': false,
|
||||
|
||||
Reference in New Issue
Block a user