我有一个Angular 4应用程序。没什么好看的,简单的企业网站。现在我在这两个文件中为Protractor编写了一个基本测试:
app.po.ts
import { browser, element, by } from 'protractor';
export class AppPage {
public navigateTo() {
return browser.get('/');
}
public getTitleText() {
return element(by.css('my-app h1')).getText();
}
}
app.e2e-spec.ts
import { AppPage } from './app.po';
describe('My App', () => {
let page: AppPage;
beforeEach(() => {
page = new AppPage();
});
it('should display the page title', () => {
page.navigateTo();
expect<any>(page.getTitleText()).toEqual('My Title');
});
});
这一直有效,直到我最近在应用程序中实现了WordPress REST API。此API在另一台本地服务器上运行,Angular应用程序通过Angular的内置Http
函数向API发出请求。当与WordPress服务器一起在本地运行Protractor时,一切正常。
但现在我通过CircleCI运行我的测试并得到错误:
Failed: Angular could not be found on the page http://localhost:49152/.If this is not an Angular application, you may need to turn off waiting for Angular.
点是,是一个Angular应用程序。我怀疑发生此错误是因为没有后端REST API服务器正在运行。
问题
如何使用模拟的后端运行Protractor测试(例如Circle CI)以及如何模拟此后端?