在端到端测试中添加 pause() 语句并重新运行它。你会看到跑步者停顿;这使您有机会在应用程序显示在浏览器中时探索它的状态。该应用程序已上线!您可以更改搜索查询来证明这一点。请注意,这对于解决端到端测试问题是多么有用。
我在端到端测试中使用了很多,但我遇到了一些障碍。我用 grunt 设置了我的开发环境,其行为如下:
grunt.registerTask('test:watch', [
'clean:server',
'concurrent:server',
'autoprefixer',
'connect:livereload',
'karma:unit',
'open',
'karma:e2e',
'watch'
]);
这里有趣的是如何设置 karma 以及如何使用 karma 设置手表,因此请查看以下内容:
karma: {
options: {
configFile: 'karma.conf.js',
},
e2e: {
singleRun: false,
background: true,
configFile: 'karma-e2e.conf.js',
},
unit: {
singleRun: false,
background: true
}
}
手表看起来像这样
watch: {
karma: {
files: ['test/**/*.js'],
tasks: ['karma:unit:run', 'karma:e2e:run']
}
}
所以,当我跑步时
咕噜测试:观看
我启动了我的服务器,这样我就可以使用它了,每次我更改一个文件时,我的单元测试都会运行,然后是我的端到端测试。它工作得很好。问题是,当我在端到端测试中使用暂停时,控制台会在暂停处停止,我不知道如何告诉它恢复而不必终止命令并重新开始。
如果您想知道,我让 Scenario Runner 在单独的浏览器上运行,这是 pause() 派上用场的地方。在那方面,一切正常,我可以在浏览器上恢复它,一切都很好。
但问题仍然存在,如何让手表在遇到 pause() 后继续通过 bash 控制台“评估”端到端测试?