在我的量角器conf.js
文件中,我想多次重复使用相同的spec文件;然而,它似乎是不可能的。
一些背景知识:
我们正在从JSON文件中读取测试用例,启动报告,然后测试网格结果和各种DOM元素。
所有报告都具有相同的格式。主要区别在于报告标题,数据列,实际数据结果等。
因此,在我的conf.js
文件中,理想情况下,我希望多次重复使用相同的规范文件 - 但我的理解是我不能这样做。
例如,我的spec数组:
specs: [
'spec/report1-spec.js',
'spec/report-grid-details-spec.js',
'spec/report2-spec.js',
'spec/report-grid-details-spec.js',
'spec/report3-spec.js',
'spec/report-grid-details-spec.js',
]
我已阅读此帖(http://ramt.in/how-to-run-identical-jasmine-specs-multiple-times-with-protractor/),您可以将规范文件移至node module
,但1)
我不想移动所有规格那里的文件,2)
当我将一个spec文件移动到模块导出文件中时,它无论如何都不起作用。
如果我无法执行此操作,那么我只需将report-grid-details-spec.js
代码移动到一个公共page object
文件中,并在需要时将其调用。
只是想知道是否有人在一个conf.js
配置中找到了多次重复使用规范文件的解决方案。
谢谢你, 鲍勃
答案 0 :(得分:2)
如果我不能这样做,那么我只需将我的report-grid-details-spec.js代码移动到一个公共页面对象文件中,并在需要时调用它。
这可能是解决问题的最简单方法。虽然,我喜欢将规范放入模块中的想法 - 这对整体可重用性来说是一个加分。
问题是, jasmine
不允许在单次测试中执行相同的测试。而且,据我所知,没有简单的方法来改变行为。
可能的解决方法之一是完全重新启动量角器,从而重新创建茉莉花测试环境,以便下一个report-grid-details-spec.js
在新的茉莉花环境中运行 - 这是protractor-flake
project使用的重试失败的测试(它基本上通过命令行重新启动protractor
将失败的规范作为逗号分隔列表传递给specs
参数source)。