如何在intern.js中使用setFindTimeout

时间:2016-06-13 08:47:05

标签: javascript node.js intern

我需要多长时间为我的功能测试设置setFindTimeout?

当我执行setFindTimeout时,有时我需要将它放在其他测试用例中以更改find​​By *方法超时。

-----------------编辑------------------------

如果我在不同的文件上有多个套件会发生什么。 例如,我有start.js和admin.js 你的答案对这种情况仍然有效吗?

start.js

'use strict';
define([
  'intern!object',
  'intern/chai!assert',
  'intern/dojo/node!fs'
], (registerSuite, assert, fs) => {
  registerSuite(() => {
    let testData;
    let timeout;
    let testCases;
    testCases = {
      name: 'Project Feature Test',

      'Log into project': function() {

        this.timeout = 60000 * 5;

        return this.remote

          .get(testData['site'])
          .findByXpath('//a[@href="/saml-redirect"]').click().end()
          .findById('userName').type(testData['username']).end()
          .findById('password').type(testData['password']).end()
          .findById('loginButton').click().end();
      },
    };

    return testCases;
  });
});

admin.js

'use strict';

define([
  'intern!object',
  'intern/chai!assert',
  'intern/dojo/node!fs'
], (
  registerSuite,
  assert,
  fs
) => {
  registerSuite(() => {

    testCases = {
      name: 'Test Administration Page',

      'Check User Functions': function() {
        this.timeout = timeout * 3;
        return this.remote
          .sleep(3000)
          .findByClassName('admin-button').click().end()  //goto admin page
      }
    };
    return testCases;
  });
});

2 个答案:

答案 0 :(得分:0)

setFindTimeout为测试会话设置findBy超时。设置后,新的超时值将持续到该会话中的所有剩余测试,或直到另一次调用setFindTimeout更改为止。

答案 1 :(得分:0)

在我看来,如果你无法控制哪个文件将首先运行,哪个文件将在之后运行,那么最好在两个文件中进行设置。 我经常在顶级父套件的before中设置一次