0

我在量角器中有这个测试 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 秒内解决它:

完成过程

在非仿真环境中,时间更长。但测试也成功结束

4

0 回答 0