我在量角器中具有此测试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');
}
);
});
});
});
我的量角器conf是:
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秒后开始进行测试。在非仿真的上下文中,测试每次需要花费更多时间来请求后端。 这是开始的时间:
here it stop to wait until start the process
过去90秒在15秒内将其解决:
在非模拟的情况下,时间更长。但是测试也成功结束了