我正在寻找一种方法来在每个测试的基础上设置默认超时。
我正在写一些在守夜人中的端到端测试。其中一项测试需要多次点击 API 来设置初始测试条件。为了运行测试,有必要填充一些用户数据。这发生在 before() 方法中。
问题是, before() 在达到默认超时间隔时会超时。我已经阅读了设置全局默认超时的文档,但我不想到处增加它。我怎样才能在每次测试的基础上做到这一点?
异步之前/之后
https://nightwatchjs.org/guide/#asynchronous-before-each-and-after-each-
设置全局 asyncHookTimeout
https://github.com/nightwatchjs/nightwatch/blob/master/examples/globalsModule。 js#L20
测试代码如下:
const { TEST_USER } = require('../../definitions/users');
const { TEST_USER_DATA } = require('../../definitions/users/data');
module.exports = {
async before(browser, done) {
// the default interval is here, but changing it doesn't have any effect
console.log(browser.options.globals.asyncHookTimeout); // 10000
const usersPO = browser.page.users();
// get the user from the API to test with
const testUser = await usersPO.getUser(TEST_USER);
// post test data to the user
await usersPO.postUserData(testUser.id, TEST_USER_DATA); // this will exceed the timeout.
// finished with async test setup
done();
},
// Tests
};