使用夜巡告断言失败后关闭浏览器会话



我在node.js中使用基于Nightwatch.js的Nightwatch-Cucumber实现了一个新的测试框架,用于node中的自动化测试。所以,有时我使用 node.js 断言来检查一些值。我在我的框架中使用PageObject Pattern。我的问题是断言失败后浏览器会话没有关闭,我不知道为什么,也不知道如何解决问题。

这是我的步骤定义:

const {
client
} = require('nightwatch-cucumber');
const {
defineSupportCode
} = require('cucumber');
const page = client.page.page();
defineSupportCode(({Given, When, Then}) => {
When(/^test$/, () => {
return page.test();
});
});

这就是我的页面对象函数:

module.exports = {
elements: {},
commands: [{
test() {
//here the assertion failed and the browser session still exist and doen't close
this.assert.equal(false, true);
return this.api;
}
}]
};

那么,我该怎么做才能实现它以关闭浏览器和会话进行测试?仅当节点.js断言失败时,才会发生这种情况。

使用afterafterEach钩子始终在测试结束时关闭浏览器,无论结果如何。见 http://nightwatchjs.org/guide#using-before-each-and-after-each-hooks

after : function(browser) {
console.log('Closing down...');
browser.end();
},

要在每次测试后关闭会话,您必须将afterEach钩子添加到测试文件中并像这样使用它:

afterEach : function(browser, done) {
browser.end(function(){
done();
});
}

相关内容

  • 没有找到相关文章

最新更新