我是使用Dalekjs的新手,我正在尝试打开浏览器,运行一些测试,并且(至关重要的是)想要打开浏览器窗口。
有没有办法在Dalekjs这样做?默认情况似乎是浏览器自动关闭。
module.exports = {
'Page title is correct': function (test) {
test
.open('http://google.com')
.assert.title().is('Google', 'It has title')
.done();
}
};
我使用以下命令在控制台中运行:
dalek my-test.js -b chrome
答案 0 :(得分:1)
运行done
函数后,它会运行一个带有测试结果的promise并完成测试运行 - 即关闭所有正在运行的浏览器。
如果要阻止测试并打开窗口,则需要使用wait
睡眠一段时间或waitFor
等待给定条件是在处理下一步之前遇到了。
我建议您按照以下方式执行操作:
module.exports = {
'Page title is correct': function (test) {
test
.open('http://google.com')
.assert.title().is('Google', 'It has title')
.execute(function(){
// Save any value from current browser context in global variable for later use
var foo = window.document.getElementById(...).value;
this.data('foo', foo);
})
.waitFor(function (aCheck) {
// Access your second window from here and fetch dependency value
var foo = test.data('foo');
// Do something with foo...
return window.myThing === aCheck;
}, ['arg1', 'arg2'], 10000)
.done();
}
};