【发布时间】:2017-05-14 15:49:20
【问题描述】:
我正在使用 Protractor 为 Angular 2/4 应用程序编写我的第一个 E2E 测试。这在加载页面并填充输入字段时工作正常。
一个大问题是,在每个页面加载后,测试在下一个操作完成后等待大约 30 秒。
例如,我使用 browser.get() 调用应用程序的登录页面。该页面显示在测试浏览器中,并在 30 秒后将用户名和密码填写到输入字段中。
这是我的 protractor.conf.js:
let SpecReporter = require('jasmine-spec-reporter').SpecReporter;
exports.config = {
allScriptsTimeout: 60000,
getPageTimeout: 60000,
suites: {
mandators: './e2e/mandators/**/*.e2e-spec.ts'
},
capabilities: {
'browserName': 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
showTiming: true,
isVerbose: false,
includeStackTrace: false,
defaultTimeoutInterval: 120000,
print: function() {}
},
useAllAngular2AppRoots: true,
beforeLaunch: function() {
require('ts-node').register({ project: 'e2e' });
},
onPrepare: function() {
browser.manage().window().maximize();
jasmine.getEnv().addReporter(new SpecReporter());
}
};
这么长时间的等待可能是什么原因?这是正常现象吗?
【问题讨论】:
-
您是否正确通知了量角器测试中的下一步调用(已完成)?
-
您使用的是哪个版本的量角器?您确定在后台没有打开的 Angular 调用(如间隔或其他东西)会阻止 Protractor 查看 Angular 是否已准备好。在大多数情况下,这就是问题
-
@quirimmo “通知下一步调用”是什么意思?我在任何教程中都没有看到类似的东西。
-
@wswebcreation 我正在使用量角器 5.1.1。没有什么比间隔更重要的了。但是在 Chrome 中开发人员工具的网络连接中,我看到一个未决的 websocket 连接。这可能是原因。但问题是:谁在打开 websocket 连接?
-
你的应用,量角器不会影响
标签: javascript angular jasmine protractor