build: disable failing ivy playground example e2e tests (#28490)
With ed1ba88ffd9d0fc266808413fa517e7a31943bc8 we switched the examples to run with Bazel. This means that we can now also run the e2e tests for these examples against Ivy. All playground e2e tests, **except** the `web_worker` examples, successfully run with Ivy. The failing webworker e2e tests have been temporarily disabled with `fixmeIvy` and need to be investigated in a follow-up. PR Close #28490
This commit is contained in:
parent
16a78f97f5
commit
5cdbdc9ee0
|
@ -6,10 +6,12 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
import {browser} from 'protractor';
|
import {browser} from 'protractor';
|
||||||
|
|
||||||
describe('hello world', function() {
|
import {verifyNoBrowserErrors} from '../../../e2e_util/e2e_util';
|
||||||
|
|
||||||
|
fixmeIvy('NullInjectorError: No provider for Renderer!').describe('hello world', function() {
|
||||||
|
|
||||||
afterEach(verifyNoBrowserErrors);
|
afterEach(verifyNoBrowserErrors);
|
||||||
|
|
||||||
|
|
|
@ -6,70 +6,73 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
|
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
|
||||||
|
|
||||||
|
import {verifyNoBrowserErrors} from '../../../../e2e_util/e2e_util';
|
||||||
|
|
||||||
describe('WebWorkers Input', function() {
|
fixmeIvy('NullInjectorError: No provider for InjectionToken ROOT_CONTEXT_TOKEN!')
|
||||||
afterEach(() => {
|
.describe('WebWorkers Input', function() {
|
||||||
verifyNoBrowserErrors();
|
afterEach(() => {
|
||||||
browser.ignoreSynchronization = false;
|
verifyNoBrowserErrors();
|
||||||
});
|
browser.ignoreSynchronization = false;
|
||||||
const selector = 'input-app';
|
});
|
||||||
const URL = 'all/playground/src/web_workers/input/index.html';
|
const selector = 'input-app';
|
||||||
const VALUE = 'test val';
|
const URL = '/';
|
||||||
|
const VALUE = 'test val';
|
||||||
|
|
||||||
it('should bootstrap', () => {
|
it('should bootstrap', () => {
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
browser.ignoreSynchronization = true;
|
browser.ignoreSynchronization = true;
|
||||||
browser.get(URL);
|
browser.get(URL);
|
||||||
|
|
||||||
waitForBootstrap();
|
waitForBootstrap();
|
||||||
const elem = element(by.css(selector + ' h2'));
|
const elem = element(by.css(selector + ' h2'));
|
||||||
expect(elem.getText()).toEqual('Input App');
|
expect(elem.getText()).toEqual('Input App');
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should bind to input value', () => {
|
it('should bind to input value', () => {
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
browser.ignoreSynchronization = true;
|
browser.ignoreSynchronization = true;
|
||||||
browser.get(URL);
|
browser.get(URL);
|
||||||
|
|
||||||
waitForBootstrap();
|
waitForBootstrap();
|
||||||
const input = element(by.css(selector + ' input'));
|
const input = element(by.css(selector + ' input'));
|
||||||
input.sendKeys(VALUE);
|
input.sendKeys(VALUE);
|
||||||
const displayElem = element(by.css(selector + ' .input-val'));
|
const displayElem = element(by.css(selector + ' .input-val'));
|
||||||
const expectedVal = `Input val is ${VALUE}.`;
|
const expectedVal = `Input val is ${VALUE}.`;
|
||||||
browser.wait(ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
|
browser.wait(ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
|
||||||
expect(displayElem.getText()).toEqual(expectedVal);
|
expect(displayElem.getText()).toEqual(expectedVal);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should bind to textarea value', () => {
|
it('should bind to textarea value', () => {
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
browser.ignoreSynchronization = true;
|
browser.ignoreSynchronization = true;
|
||||||
browser.get(URL);
|
browser.get(URL);
|
||||||
|
|
||||||
waitForBootstrap();
|
waitForBootstrap();
|
||||||
const input = element(by.css(selector + ' textarea'));
|
const input = element(by.css(selector + ' textarea'));
|
||||||
input.sendKeys(VALUE);
|
input.sendKeys(VALUE);
|
||||||
const displayElem = element(by.css(selector + ' .textarea-val'));
|
const displayElem = element(by.css(selector + ' .textarea-val'));
|
||||||
const expectedVal = `Textarea val is ${VALUE}.`;
|
const expectedVal = `Textarea val is ${VALUE}.`;
|
||||||
browser.wait(ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
|
browser.wait(ExpectedConditions.textToBePresentInElement(displayElem, expectedVal), 5000);
|
||||||
expect(displayElem.getText()).toEqual(expectedVal);
|
expect(displayElem.getText()).toEqual(expectedVal);
|
||||||
});
|
});
|
||||||
|
|
||||||
function waitForBootstrap() {
|
function waitForBootstrap() {
|
||||||
browser.wait(protractor.until.elementLocated(by.css(selector + ' h2')), 5000)
|
browser.wait(protractor.until.elementLocated(by.css(selector + ' h2')), 5000)
|
||||||
.then(
|
.then(
|
||||||
() => {
|
() => {
|
||||||
const elem = element(by.css(selector + ' h2'));
|
const elem = element(by.css(selector + ' h2'));
|
||||||
browser.wait(
|
browser.wait(
|
||||||
protractor.ExpectedConditions.textToBePresentInElement(elem, 'Input App'), 5000);
|
protractor.ExpectedConditions.textToBePresentInElement(elem, 'Input App'),
|
||||||
},
|
5000);
|
||||||
() => {
|
},
|
||||||
// jasmine will timeout if this gets called too many times
|
() => {
|
||||||
console.error('>> unexpected timeout -> browser.refresh()');
|
// jasmine will timeout if this gets called too many times
|
||||||
browser.refresh();
|
console.error('>> unexpected timeout -> browser.refresh()');
|
||||||
waitForBootstrap();
|
browser.refresh();
|
||||||
});
|
waitForBootstrap();
|
||||||
}
|
});
|
||||||
});
|
}
|
||||||
|
});
|
||||||
|
|
|
@ -6,53 +6,56 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
|
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
|
||||||
|
|
||||||
describe('WebWorkers Kitchen Sink', function() {
|
import {verifyNoBrowserErrors} from '../../../../e2e_util/e2e_util';
|
||||||
afterEach(() => {
|
|
||||||
verifyNoBrowserErrors();
|
|
||||||
browser.ignoreSynchronization = false;
|
|
||||||
});
|
|
||||||
const selector = 'hello-app .greeting';
|
|
||||||
const URL = 'all/playground/src/web_workers/kitchen_sink/index.html';
|
|
||||||
|
|
||||||
it('should greet', () => {
|
fixmeIvy('NullInjectorError: No provider for InjectionToken ROOT_CONTEXT_TOKEN!')
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
.describe('WebWorkers Kitchen Sink', function() {
|
||||||
browser.ignoreSynchronization = true;
|
afterEach(() => {
|
||||||
browser.get(URL);
|
verifyNoBrowserErrors();
|
||||||
|
browser.ignoreSynchronization = false;
|
||||||
|
});
|
||||||
|
const selector = 'hello-app .greeting';
|
||||||
|
const URL = '/';
|
||||||
|
|
||||||
browser.wait(protractor.until.elementLocated(by.css(selector)), 15000);
|
it('should greet', () => {
|
||||||
const elem = element(by.css(selector));
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
browser.wait(ExpectedConditions.textToBePresentInElement(elem, 'hello world!'), 5000);
|
browser.ignoreSynchronization = true;
|
||||||
expect(elem.getText()).toEqual('hello world!');
|
browser.get(URL);
|
||||||
|
|
||||||
});
|
browser.wait(protractor.until.elementLocated(by.css(selector)), 15000);
|
||||||
|
const elem = element(by.css(selector));
|
||||||
|
browser.wait(ExpectedConditions.textToBePresentInElement(elem, 'hello world!'), 5000);
|
||||||
|
expect(elem.getText()).toEqual('hello world!');
|
||||||
|
|
||||||
it('should change greeting', () => {
|
});
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
|
||||||
browser.ignoreSynchronization = true;
|
|
||||||
browser.get(URL);
|
|
||||||
const changeButtonSelector = 'hello-app .changeButton';
|
|
||||||
|
|
||||||
browser.wait(protractor.until.elementLocated(by.css(changeButtonSelector)), 15000);
|
it('should change greeting', () => {
|
||||||
element(by.css(changeButtonSelector)).click();
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
const elem = element(by.css(selector));
|
browser.ignoreSynchronization = true;
|
||||||
browser.wait(ExpectedConditions.textToBePresentInElement(elem, 'howdy world!'), 5000);
|
browser.get(URL);
|
||||||
expect(elem.getText()).toEqual('howdy world!');
|
const changeButtonSelector = 'hello-app .changeButton';
|
||||||
});
|
|
||||||
|
|
||||||
it('should display correct key names', () => {
|
browser.wait(protractor.until.elementLocated(by.css(changeButtonSelector)), 15000);
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
element(by.css(changeButtonSelector)).click();
|
||||||
browser.ignoreSynchronization = true;
|
const elem = element(by.css(selector));
|
||||||
browser.get(URL);
|
browser.wait(ExpectedConditions.textToBePresentInElement(elem, 'howdy world!'), 5000);
|
||||||
browser.wait(protractor.until.elementLocated(by.css('.sample-area')), 15000);
|
expect(elem.getText()).toEqual('howdy world!');
|
||||||
|
});
|
||||||
|
|
||||||
const area = element.all(by.css('.sample-area')).first();
|
it('should display correct key names', () => {
|
||||||
expect(area.getText()).toEqual('(none)');
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
|
browser.ignoreSynchronization = true;
|
||||||
|
browser.get(URL);
|
||||||
|
browser.wait(protractor.until.elementLocated(by.css('.sample-area')), 15000);
|
||||||
|
|
||||||
area.sendKeys('u');
|
const area = element.all(by.css('.sample-area')).first();
|
||||||
browser.wait(ExpectedConditions.textToBePresentInElement(area, 'U'), 5000);
|
expect(area.getText()).toEqual('(none)');
|
||||||
expect(area.getText()).toEqual('U');
|
|
||||||
});
|
area.sendKeys('u');
|
||||||
});
|
browser.wait(ExpectedConditions.textToBePresentInElement(area, 'U'), 5000);
|
||||||
|
expect(area.getText()).toEqual('U');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
|
@ -6,41 +6,44 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
|
import {ExpectedConditions, browser, by, element, protractor} from 'protractor';
|
||||||
|
|
||||||
const URL = 'all/playground/src/web_workers/message_broker/index.html';
|
import {verifyNoBrowserErrors} from '../../../../e2e_util/e2e_util';
|
||||||
|
|
||||||
describe('MessageBroker', function() {
|
const URL = '/';
|
||||||
|
|
||||||
afterEach(() => {
|
fixmeIvy('NullInjectorError: No provider for InjectionToken ROOT_CONTEXT_TOKEN!')
|
||||||
verifyNoBrowserErrors();
|
.describe('MessageBroker', function() {
|
||||||
browser.ignoreSynchronization = false;
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should bootstrap', () => {
|
afterEach(() => {
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
verifyNoBrowserErrors();
|
||||||
browser.ignoreSynchronization = true;
|
browser.ignoreSynchronization = false;
|
||||||
browser.get(URL);
|
});
|
||||||
waitForBootstrap();
|
|
||||||
expect(element(by.css('app h1')).getText()).toEqual('WebWorker MessageBroker Test');
|
|
||||||
});
|
|
||||||
|
|
||||||
it('should echo messages', () => {
|
it('should bootstrap', () => {
|
||||||
const VALUE = 'Hi There';
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
browser.ignoreSynchronization = true;
|
||||||
browser.ignoreSynchronization = true;
|
browser.get(URL);
|
||||||
browser.get(URL);
|
waitForBootstrap();
|
||||||
waitForBootstrap();
|
expect(element(by.css('app h1')).getText()).toEqual('WebWorker MessageBroker Test');
|
||||||
|
});
|
||||||
|
|
||||||
const input = element.all(by.css('#echo_input')).first();
|
it('should echo messages', () => {
|
||||||
input.sendKeys(VALUE);
|
const VALUE = 'Hi There';
|
||||||
element(by.css('#send_echo')).click();
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
const area = element(by.css('#echo_result'));
|
browser.ignoreSynchronization = true;
|
||||||
browser.wait(ExpectedConditions.textToBePresentInElement(area, VALUE), 5000);
|
browser.get(URL);
|
||||||
expect(area.getText()).toEqual(VALUE);
|
waitForBootstrap();
|
||||||
});
|
|
||||||
});
|
const input = element.all(by.css('#echo_input')).first();
|
||||||
|
input.sendKeys(VALUE);
|
||||||
|
element(by.css('#send_echo')).click();
|
||||||
|
const area = element(by.css('#echo_result'));
|
||||||
|
browser.wait(ExpectedConditions.textToBePresentInElement(area, VALUE), 5000);
|
||||||
|
expect(area.getText()).toEqual(VALUE);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
function waitForBootstrap(): void {
|
function waitForBootstrap(): void {
|
||||||
browser.wait(protractor.until.elementLocated(by.css('app h1')), 15000);
|
browser.wait(protractor.until.elementLocated(by.css('app h1')), 15000);
|
||||||
|
|
|
@ -6,79 +6,82 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
import {browser, by, element, protractor} from 'protractor';
|
import {browser, by, element, protractor} from 'protractor';
|
||||||
|
|
||||||
describe('WebWorker Router', () => {
|
import {verifyNoBrowserErrors} from '../../../../e2e_util/e2e_util';
|
||||||
beforeEach(() => {
|
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
|
||||||
browser.ignoreSynchronization = true;
|
|
||||||
browser.get('/');
|
|
||||||
});
|
|
||||||
|
|
||||||
afterEach(() => {
|
fixmeIvy('NullInjectorError: No provider for InjectionToken ROOT_CONTEXT_TOKEN!')
|
||||||
verifyNoBrowserErrors();
|
.describe('WebWorker Router', () => {
|
||||||
browser.ignoreSynchronization = false;
|
beforeEach(() => {
|
||||||
});
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
|
browser.ignoreSynchronization = true;
|
||||||
|
browser.get('/');
|
||||||
|
});
|
||||||
|
|
||||||
const contentSelector = 'app main h1';
|
afterEach(() => {
|
||||||
const navSelector = 'app nav ul';
|
verifyNoBrowserErrors();
|
||||||
const baseUrl = 'all/playground/src/web_workers/router/index.html';
|
browser.ignoreSynchronization = false;
|
||||||
|
});
|
||||||
|
|
||||||
it('should route on click', () => {
|
const contentSelector = 'app main h1';
|
||||||
browser.get(baseUrl);
|
const navSelector = 'app nav ul';
|
||||||
|
const baseUrl = '/';
|
||||||
|
|
||||||
waitForElement(contentSelector);
|
it('should route on click', () => {
|
||||||
let content = element(by.css(contentSelector));
|
browser.get(baseUrl);
|
||||||
expect(content.getText()).toEqual('Start');
|
|
||||||
|
|
||||||
const aboutBtn = element(by.css(navSelector + ' .about'));
|
waitForElement(contentSelector);
|
||||||
aboutBtn.click();
|
let content = element(by.css(contentSelector));
|
||||||
waitForUrl(/\/about/);
|
expect(content.getText()).toEqual('Start');
|
||||||
waitForElement(contentSelector);
|
|
||||||
waitForElementText(contentSelector, 'About');
|
|
||||||
content = element(by.css(contentSelector));
|
|
||||||
expect(content.getText()).toEqual('About');
|
|
||||||
expect(browser.getCurrentUrl()).toMatch(/\/about/);
|
|
||||||
|
|
||||||
const contactBtn = element(by.css(navSelector + ' .contact'));
|
const aboutBtn = element(by.css(navSelector + ' .about'));
|
||||||
contactBtn.click();
|
aboutBtn.click();
|
||||||
waitForUrl(/\/contact/);
|
waitForUrl(/\/about/);
|
||||||
waitForElement(contentSelector);
|
waitForElement(contentSelector);
|
||||||
waitForElementText(contentSelector, 'Contact');
|
waitForElementText(contentSelector, 'About');
|
||||||
content = element(by.css(contentSelector));
|
content = element(by.css(contentSelector));
|
||||||
expect(content.getText()).toEqual('Contact');
|
expect(content.getText()).toEqual('About');
|
||||||
expect(browser.getCurrentUrl()).toMatch(/\/contact/);
|
expect(browser.getCurrentUrl()).toMatch(/\/about/);
|
||||||
});
|
|
||||||
|
|
||||||
it('should load the correct route from the URL', () => {
|
const contactBtn = element(by.css(navSelector + ' .contact'));
|
||||||
browser.get(baseUrl + '#/about');
|
contactBtn.click();
|
||||||
|
waitForUrl(/\/contact/);
|
||||||
|
waitForElement(contentSelector);
|
||||||
|
waitForElementText(contentSelector, 'Contact');
|
||||||
|
content = element(by.css(contentSelector));
|
||||||
|
expect(content.getText()).toEqual('Contact');
|
||||||
|
expect(browser.getCurrentUrl()).toMatch(/\/contact/);
|
||||||
|
});
|
||||||
|
|
||||||
waitForElement(contentSelector);
|
it('should load the correct route from the URL', () => {
|
||||||
waitForElementText(contentSelector, 'About');
|
browser.get(baseUrl + '#/about');
|
||||||
const content = element(by.css(contentSelector));
|
|
||||||
expect(content.getText()).toEqual('About');
|
|
||||||
});
|
|
||||||
|
|
||||||
function waitForElement(selector: string): void {
|
waitForElement(contentSelector);
|
||||||
browser.wait(protractor.until.elementLocated(by.css(selector)), 15000);
|
waitForElementText(contentSelector, 'About');
|
||||||
}
|
const content = element(by.css(contentSelector));
|
||||||
|
expect(content.getText()).toEqual('About');
|
||||||
|
});
|
||||||
|
|
||||||
function waitForElementText(contentSelector: string, expected: string): void {
|
function waitForElement(selector: string): void {
|
||||||
browser.wait(() => {
|
browser.wait(protractor.until.elementLocated(by.css(selector)), 15000);
|
||||||
const deferred = protractor.promise.defer();
|
}
|
||||||
const elem = element(by.css(contentSelector));
|
|
||||||
elem.getText().then((text: string) => { return deferred.fulfill(text === expected); });
|
|
||||||
return deferred.promise;
|
|
||||||
}, 5000);
|
|
||||||
}
|
|
||||||
|
|
||||||
function waitForUrl(regex: RegExp): void {
|
function waitForElementText(contentSelector: string, expected: string): void {
|
||||||
browser.wait(() => {
|
browser.wait(() => {
|
||||||
const deferred = protractor.promise.defer();
|
const deferred = protractor.promise.defer();
|
||||||
browser.getCurrentUrl().then(
|
const elem = element(by.css(contentSelector));
|
||||||
(url: string) => { return deferred.fulfill(url.match(regex) !== null); });
|
elem.getText().then((text: string) => { return deferred.fulfill(text === expected); });
|
||||||
return deferred.promise;
|
return deferred.promise;
|
||||||
}, 5000);
|
}, 5000);
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
function waitForUrl(regex: RegExp): void {
|
||||||
|
browser.wait(() => {
|
||||||
|
const deferred = protractor.promise.defer();
|
||||||
|
browser.getCurrentUrl().then(
|
||||||
|
(url: string) => { return deferred.fulfill(url.match(regex) !== null); });
|
||||||
|
return deferred.promise;
|
||||||
|
}, 5000);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
|
@ -6,27 +6,30 @@
|
||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import {verifyNoBrowserErrors} from 'e2e_util/e2e_util';
|
import {fixmeIvy} from '@angular/private/testing';
|
||||||
import {browser, by, element, protractor} from 'protractor';
|
import {browser, by, element, protractor} from 'protractor';
|
||||||
|
|
||||||
describe('WebWorkers Todo', function() {
|
import {verifyNoBrowserErrors} from '../../../../e2e_util/e2e_util';
|
||||||
afterEach(() => {
|
|
||||||
verifyNoBrowserErrors();
|
|
||||||
browser.ignoreSynchronization = false;
|
|
||||||
});
|
|
||||||
|
|
||||||
const URL = 'all/playground/src/web_workers/todo/index.html';
|
fixmeIvy('NullInjectorError: No provider for InjectionToken ROOT_CONTEXT_TOKEN!')
|
||||||
|
.describe('WebWorkers Todo', function() {
|
||||||
|
afterEach(() => {
|
||||||
|
verifyNoBrowserErrors();
|
||||||
|
browser.ignoreSynchronization = false;
|
||||||
|
});
|
||||||
|
|
||||||
it('should bootstrap', () => {
|
const URL = '/';
|
||||||
// This test can't wait for Angular as Testability is not available when using WebWorker
|
|
||||||
browser.ignoreSynchronization = true;
|
|
||||||
browser.get(URL);
|
|
||||||
|
|
||||||
waitForBootstrap();
|
it('should bootstrap', () => {
|
||||||
expect(element(by.css('#todoapp header')).getText()).toEqual('todos');
|
// This test can't wait for Angular as Testability is not available when using WebWorker
|
||||||
});
|
browser.ignoreSynchronization = true;
|
||||||
|
browser.get(URL);
|
||||||
|
|
||||||
});
|
waitForBootstrap();
|
||||||
|
expect(element(by.css('#todoapp header')).getText()).toEqual('todos');
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
function waitForBootstrap(): void {
|
function waitForBootstrap(): void {
|
||||||
browser.wait(protractor.until.elementLocated(by.css('todo-app #todoapp')), 15000);
|
browser.wait(protractor.until.elementLocated(by.css('todo-app #todoapp')), 15000);
|
||||||
|
|
Loading…
Reference in New Issue