角度8整合测试-Proctrator/Jasmine works、量角器/x27;T
我正在为我的Angular 8应用程序设置一个简单的e2e测试。我正在尝试学习BDD,所以我尝试用茉莉花替换黄瓜,因为它使用的语言更符合BDD 当我使用Jasmine运行量角器时,测试通过: 这项工作:角度8整合测试-Proctrator/Jasmine works、量角器/x27;T,jasmine,protractor,cucumber,angular8,Jasmine,Protractor,Cucumber,Angular8,我正在为我的Angular 8应用程序设置一个简单的e2e测试。我正在尝试学习BDD,所以我尝试用茉莉花替换黄瓜,因为它使用的语言更符合BDD 当我使用Jasmine运行量角器时,测试通过: 这项工作: navigateTo () { return browser.get(browser.baseUrl) as Promise<any>; } 等待量角器与页面同步时出错:“angularJS可测试性和角度可测试性都未定义。” 量角器配置: exports.config =
navigateTo () {
return browser.get(browser.baseUrl) as Promise<any>;
}
等待量角器与页面同步时出错:“angularJS可测试性和角度可测试性都未定义。”
量角器配置:
exports.config = {
allScriptsTimeout: 61000,
getPageTimeout: 60000,
specs: [
'./src/features/**/*.feature'
],
capabilities: {
browserName: 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
require: 'features/step-definitions/app-step-definitions.js',
tags: false,
format: 'node_modules/cucumber-pretty',
profile: false,
'no-source': true
}
};
我已经读过这个错误,但不知道我为什么会得到它。你能检查AngularTestability API的is_stable标志是否为真。如果为真,请检查它变为真需要多长时间。有时,角度网页变为稳定需要更长时间。量角器使用is_stable标志与页面同步。你可以尝试swi切掉它(不建议有角度的页面)但是给它一次机会来指出错误。你可以通过显式设置
browser.ignoresynchronization=true
来完成。现在,你的测试不会等待角度承诺解决。如果这样做有效,那么你应该看到is_stable标志变为true需要多长时间。有时可能有第三方应用程序导致错误网页不稳定。请注意,一个有角度的网页只有在所有承诺都得到解决时才稳定。如果是这种情况,您可以在测试执行之前等待页面稳定
它在茉莉花中而不是黄瓜中起作用的原因很奇怪。也许黄瓜的执行速度比茉莉花快。但我不确定
另外,请在浏览器中将SELENIUM\u PROMISE\u MANAGER设置为false,以便知道是否缺少任何承诺。能否检查AngularTestability API的is\u stable标志是否为true。如果为true,请检查变为true需要多长时间。有时,角度网页变为稳定需要更长的时间。量角器使用是要与页面同步的稳定标志。您可以尝试将其关闭(不建议用于有角度的页面)但是给它一次机会来指出错误。你可以通过显式设置
browser.ignoresynchronization=true
来完成。现在,你的测试不会等待角度承诺解决。如果这样做有效,那么你应该看到is_stable标志变为true需要多长时间。有时可能有第三方应用程序导致错误网页不稳定。请注意,一个有角度的网页只有在所有承诺都得到解决时才稳定。如果是这种情况,您可以在测试执行之前等待页面稳定
它在茉莉花中而不是黄瓜中起作用的原因很奇怪。也许黄瓜的执行速度比茉莉花快。但我不确定
另外,请在浏览器中将SELENIUM\u PROMISE\u MANAGER设置为false,以便您知道是否缺少任何承诺。禁用异步有效。我选择放弃量角器,直接使用SELENIUM,cucumberjs-tsflow。禁用异步有效。我选择放弃量角器,直接使用SELENIUM,cucumberjs-tsflow。
exports.config = {
allScriptsTimeout: 61000,
getPageTimeout: 60000,
specs: [
'./src/features/**/*.feature'
],
capabilities: {
browserName: 'chrome'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
cucumberOpts: {
require: 'features/step-definitions/app-step-definitions.js',
tags: false,
format: 'node_modules/cucumber-pretty',
profile: false,
'no-source': true
}
};