我需要多长时间为我的功能测试设置setFindTimeout?
当我执行setFindTimeout时,有时我需要将它放在其他测试用例中以更改findBy *方法超时。
-----------------编辑------------------------
如果我在不同的文件上有多个套件会发生什么。 例如,我有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;
});
});
答案 0 :(得分:0)
setFindTimeout
为测试会话设置findBy
超时。设置后,新的超时值将持续到该会话中的所有剩余测试,或直到另一次调用setFindTimeout
更改为止。
答案 1 :(得分:0)
在我看来,如果你无法控制哪个文件将首先运行,哪个文件将在之后运行,那么最好在两个文件中进行设置。
我经常在顶级父套件的before
中设置一次