我正在使用角度和量角器e2e测试。如何减少每次测试开始的时间?

时间:2018-10-10 17:49:38

标签: angular testing protractor angular-e2e

我在量角器中具有此测试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秒内将其解决:

finish process

在非模拟的情况下,时间更长。但是测试也成功结束了

0 个答案:

没有答案