从Angular E2E开始,并尝试测试多个文件(按模块划分测试用例(。
量角器.conf.js中的更改
specs: [
"./src/login/login.component.e2e-spec.ts",
"./src/customs-portal/home.component.e2e-spec.ts",
],
这将以相同的顺序运行两个文件的测试用例。
在家庭测试用例文件中,我写了
beforeAll(() => {
homePage= new HomePage();
helperService = new HelperService();
CSS = homePage.CSS;
helperService.navigate("/home");
helperService.skipIntro();
});
我导航到/home,在主页上有跳过按钮,我单击该按钮可以避免页面的介绍阶段。以下是skipIntro功能与的相似之处
async skipIntro(): Promise<any> {
const _skipBtn = await element(by.css(this.CSS.SKIP_INTRO));
console.log("HelperService -> _skipBtn", _skipBtn);
if (_skipBtn) {
_skipBtn.click();
}
}
但它显示错误,并使测试用例失败
it("dummy test always paas", async () => {
expect(true).toEqual(true);
});
这是错误
- Error: Error while waiting for Protractor to sync with the page: "both angularJS testability and angular testability are undefined. This could be either because this is a non-angular page or because your test involves client-side navigation, which can interfere with Protractor's bootstrapping. See http://git.io/v4gXM for details"
这是帮助服务。导航
navigate(path: string): promise.Promise<any> {
return browser.get(path);
}
对此有任何帮助,在Angular E2E上没有太多经验。
试试这个,它应该可以
beforeAll(async () => {
homePage= new HomePage();
helperService = new HelperService();
CSS = homePage.CSS;
await helperService.navigate("/home");
await helperService.skipIntro();
});
async skipIntro(): Promise<any> {
const _skipBtn =await element(by.css(this.CSS.SKIP_INTRO));
console.log("HelperService -> _skipBtn", _skipBtn);
if (_skipBtn) {
await _skipBtn.click();
}
}
async navigate(path: string): promise.Promise<any> {
await return browser.get(path);
}
async skipIntro(): Promise<any> {
const _skipBtn = await element(by.css(this.CSS.SKIP_INTRO));
console.log("HelperService -> _skipBtn", _skipBtn);
if (_skipBtn) {
await _skipBtn.click();
}
}
async navigate(path: string): promise.Promise<any> {
await return browser.get(path);
}
通过查看错误,我假设测试中的应用程序不是Angular
应用程序。Protractor主要用于测试角度应用程序,但要测试non-angular
应用程序,您可以进行以下配置更改,您可能不会得到此错误
browser.waitForAngularEnabled(false);
这将禁用在应用程序中搜索角度组件,并执行测试。
看起来像是异步和控制流混合,这似乎是的一个问题