我爲Intern上的Web應用程序編寫功能測試。 我有我描述的測試的所有操作的文件,也有一個測試,這些動作被稱爲函數setFindTimeout不適用於我
例如:
有一個Action.ts文件
在它的功能,其在測試被順序地稱爲
//1
//open the registration window
openRegistration(): Command<void> {
return Action.openRegistration(this.parent);
}
static openRegistration(command: Command<any>): Command<void> {
return command
// click on the authorization menu
.setPageLoadTimeout (10000)
.get(intern.args.url)
.end()
}
//2
inputTextByCssSelector(selector: string, value: string): Command <void> {
return Input.inputTextByCssSelector(this.parent, selector, value);
}
static inputTextByCssSelector(
command: Command<any>,
selector: string,
value: string
): Command<void> {
return command
.setFindTimeout(10000)
.findByCssSelector(selector)
.click()
.type(value)
.end()
.end()
}
這樣
.then(() => action.openRegistration())
.then(() => input.inputTextByCssSelector(
"input [name = userName]",
intern.args.username
))
.then(() => input.inputTextByCssSelector(
"input [name = password]",
intern.args.password
))
但是當我運行測試時,它會下降。
如果我設置在openRegistration結束例如一個明確的延遲這樣
openRegistration(): Command<void> {
return Action.openRegistration(this.parent);
}
static openRegistration(command: Command<any>): Command<void> {
return command
.setPageLoadTimeout(10000)
.get(intern.args.url)
.sleep(7000)
.end()
}
然後一切正常
爲什麼不inputTextByCssSelector
工作setFindTimeout(10000)
,但在openRegistration
sleep(7000)
工作