在浏览器关闭后幸存下来的全局变量 [wdio Web 驱动程序 io]



我有几个套件,每个套件中都有一些规范文件。

我注意到的是,wdio运行任何规范文件中的所有测试后,它会关闭浏览器并打开浏览器的新实例。在这种情况下,甚至会删除本地存储。

所以我很难找到一个地方来定义一个变量,它的值在所有测试中都保持不变。

我尝试在wdio.base.conf.js文件之上定义一个数组。

let globalStuff = []
const config = { ...

beforeTest: function (test) {
globalStuff.push(Math.random())
},
afterSession: function (config, capabilities, specs) {
console.log(globalStuff)
},
}

观察:每次重置globalStuff的值,并且仅包含 x 个项目(如果在等级库中it测试,则 x 是数字(

期望值:globalStuff的值应该是所有推送值的聚合。

我们实现这一目标的一种更简单的方法是使用全局对象。

您可以在配置文件中设置类似global.platform = web的内容,这应该可以在所有测试中访问。同样,您可以在全局对象上设置任意数量的唯一属性,并且它们应该可以在测试中访问。

您的代码段应如下所示。

global.globalStuff = []
const config = { ...
beforeTest: function(test) {
globalStuff.push(Math.random())
},
afterSession: function(config, capabilities, specs) {
console.log(globalStuff)
},
}

下面是实现此目的的示例项目。

相关内容

  • 没有找到相关文章

最新更新