【发布时间】:2019-06-11 12:09:12
【问题描述】:
我随机收到错误:
失败:等待 Protractor 与页面同步时出错: “angularJS 的可测试性和 angular 的可测试性都是未定义的。 这可能是因为这是一个非角度页面,也可能是因为 您的测试涉及客户端导航,这可能会干扰 量角器的引导。详情见https://github.com/angular/protractor/issues/2643”
运行
$ ng e2e --webdriverUpdate=false --devServerTarget=
在我的 spec.ts 文件中,我有以下 2 个测试,第一个始终有效,第二个 随机失败并出现上述错误。
beforeEach(async () => {
myPage = new MyPage();
browser.get('my-page');
});
it('should work', async () => {
console.log('should work');
expect(true).toBeTruthy();
});
it('should display the title', async () => {
const title = await $('my-title-selector').getText();
expect(title).toEqual('My-Title');
});
这是我的页面页面对象:
import { $, $$ } from 'protractor';
export class MyPage {
title = $('my-title-selector');
}
这是我的 protractor.conf.js
// Protractor configuration file, see link for more information
// https://github.com/angular/protractor/blob/master/lib/config.ts
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 11000,
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome'
},
SELENIUM_PROMISE_MANAGER: false,
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 30000,
print: function () { }
},
onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
},
};
你有什么想法吗?
【问题讨论】:
标签: angular protractor