在我的index.html中,我正在创建小部件的实例。我想能够在测试运行之前对options
进行存根,以尝试不同的初始化。
<html>
<body>
...
<script>
document.addEventListener('DOMContentLoaded', function() {
var options = {
input_element_id: 'inputid',
list: ['a', 'b', 'c', 'd'],
app_id: 'xxx'
api_key: 'xxx'
}
var widget = new MyWidget(options)
widget.start()
})
</script>
</body>
</html>
我该如何使用Cypress?
答案 0 :(得分:0)
我发现的最佳方法是使用window对象将变量公开给cypress。然后,在测试中我可以操纵它们。
<script>
document.addEventListener('DOMContentLoaded', function() {
var options = {...}
var widget = new MyWidget(options)
if (window.Cypress) {
window.options = options
window.widget = widget
}
widget.start()
})
</script>
然后在我的测试中,我可以在beforeEach()
或我需要的地方运行它
cy.window()
.then(win => {
win.options['search_on_slash'] = false
})