sendKeys停止量角器中的e2e测试流程

时间:2018-11-01 16:05:53

标签: protractor angular-e2e

我有以下代码:

const inputBoxes = await landingPage.getPortIdInputBox();
await inputBoxes[0].sendKeys('0040');
await inputBoxes[1].sendKeys('9142');

const url: string = await browser.getCurrentUrl();

expect(url).toContain('/profile?fund1=0040&fund2=9142');

我正在使用Protractor和Jasmine为Angular 6应用程序编写e2e测试用例,所有测试似乎运行良好,但有时在将文本输入到输入框中后流程停止。 它停止约一分钟,然后成功确认结果。 我有2种方法使用sendKeys形式的WebdriverJS方法来检查用户输入,有时在输入框中输入文本后,流程停止在第一个功能中,有时又停止在第二个功能中

我什至使用async/awaut来照顾WebdriverJS方法返回的承诺。这将导致CD管道中的构建失败,并显示以下错误:

  

错误:超时-超时内未调用异步回调   由jasmine.DEFAULT_TIMEOUT_INTERVAL指定。

不确定我要去哪里。在本地,所有测试都在超时范围内顺利通过,但在CD管道中失败。

这是我的protractor.conf.js文件:

const SpecReporter = require('jasmine-spec-reporter').SpecReporter;
const JUnitXmlReporter = require('jasmine-reporters').JUnitXmlReporter;
const ENV = require('../variables.js');
const path = require('path');
const tsNode = require('ts-node');

exports.config = {
  logLevel: 'DEBUG',
  SELENIUM_PROMISE_MANAGER: false,
  allScriptsTimeout: 120000,
  getPageTimeout: 120000,
  specs: [path.join(__dirname, 'src', '**/*.e2e-spec.ts')],
  directConnect: ENV.PROTRACTOR_DIRECT_CONNECT,
  multiCapabilities: ENV.PROTRACTOR_MULTI_CAPABILITIES,
  seleniumAddress: ENV.PROTRACTOR_SELENIUM_ADDRESS,
  chromeDriver: ENV.PROTRACTOR_CHROME_DRIVER,
  resultJsonOutputFile: ENV.TEST_E2E_REPORT_FILE,
  baseUrl: ENV.BASE_URL,
  framework: 'jasmine',
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 120000,
    print: function() {}
  },
  onPrepare() {
    tsNode.register({ project: path.join(__dirname, './tsconfig.e2e.json') });
    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
    jasmine.getEnv().addReporter(
      new JUnitXmlReporter({
        savePath: ENV.TEST_E2E_REPORT_DIRECTORY
      })
    );
  }
};

0 个答案:

没有答案
相关问题