我在量角器中有这个测试 e2e:
describe('My App', () => {
beforeEach(() => {
// browser.waitForAngularEnabled(false);
});
let page: AppPage;
it('Debe Crear una nueva especie', () => {
page = new AppPage();
page.navigateTo().then(() => {
// if (!browser.waitForAngularEnabled()) { browser.waitForAngularEnabled(true); }
});
page.getLinkEspecies().click().then(() => {
console.log("HIZO CLICK")
//Presiona boton 'Nueva Especie'
page.getButtonNuevaEspecie().click();
// browser.sleep(1000)
//Setear categoria, especie y modelo
page.getOptionCategoria().click();
// browser.sleep(1000)
page.getOptionTipoEspecie().click();
// browser.sleep(1000)
page.getOptionEspecieComoModelo().click();
// browser.sleep(1000)
//Presiona boton 'Continuar'
page.getButtonContinuar().click();
// browser.sleep(1000)
//Presiona boton 'Guardar especie'
page.getButtonGuardarEspecie().click().then(
() => {
browser.wait(page.getAlertMessage().isPresent(), 20000, "FALLO").then(
() => {
// browser.sleep(2000)
page.getAlertMessage().getText().then(
(texto: string) => {
expect(texto).toEqual('Se creo correctamente')
}
)
}
);
expect(browser.getCurrentUrl()).toMatch('/#/especies');
}
);
});
});
});
我的量角器配置是:
exports.config = {
allScriptsTimeout: 300000,
seleniumServerStartTimeout: 0,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': "chrome",
// this takes seconds so 120 would be 120 seconds.
// 'idleTimeout': '10'
},
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 300000,
print: function() {}
},
// SELENIUM_PROMISE_MANAGER: false,
onPrepare() {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
browser.manage().window().setSize(1600, 1000);
// browser.waitForAngularEnabled(false);
}
};
那么我有两个设置来运行测试。一个是模拟的,另一个不是模拟的。模拟的请求是在本地发出的,非模拟的请求是在后端发出的。在模拟的上下文中,测试大约需要 90 秒才能开始。浏览器已启动,向我显示主页,但在 90 秒后开始进行测试。在非模拟上下文中,测试每次请求后端都需要更多时间。这是开始的时候:
过去 90 秒在 15 秒内解决它:
在非仿真环境中,时间更长。但测试也成功结束