Protractor 量角器-如何在不同的测试中重用同一规范文件

Protractor 量角器-如何在不同的测试中重用同一规范文件,protractor,angularjs-e2e,Protractor,Angularjs E2e,在我的量角器conf.js文件中,我想多次重复使用相同的规范文件;然而,这似乎是不可能的 一些背景: 我们从JSON文件中读取测试用例,启动报告,然后测试网格结果和各种DOM元素 所有报告的格式都相同。主要区别在于报告标题、数据列、实际数据结果等 因此,在我的conf.js文件中,理想情况下,我希望多次重复使用相同的spec文件,但我的理解是我不能这样做 例如,我的等级库阵列: specs: [ 'spec/report1-spec.js', 'spec/report-g

在我的量角器
conf.js
文件中,我想多次重复使用相同的规范文件;然而,这似乎是不可能的

一些背景:

我们从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',
 ]
我读过这篇文章(),你可以把你的规范文件移到一个
节点模块中,但是
1)
我不想把所有规范文件移到那里,而且
2)
当我把一个规范文件移到一个模块导出文件中时,它无论如何都不起作用

如果我做不到,那么我只需将我的
report-grid-details-spec.js
代码移动到一个公共
页面对象
文件中,并在需要时调用它

只是想知道是否有人找到了一个解决方案,可以在一个
conf.js
配置中多次重复使用spec文件

谢谢,, 鲍勃

如果我做不到,那么我只需将report-grid-details-spec.js代码移动到一个公共页面对象文件中,并在需要时调用它

这可能是解决问题的最简单方法。尽管如此,我还是喜欢将规范放入模块的想法——这对整体的可重用性有好处

问题是,
jasmine
不允许在单个测试运行中执行相同的测试。而且,据我所知,改变这种行为没有简单的方法


一个可能的解决方法是完全重新启动量角器,从而重新创建jasmine测试环境,以便下一个
report-grid-details-spec.js
将在新的jasmine环境中运行-这是用于重试失败测试的东西(它基本上通过命令行重新启动
量角器
,将失败的规范作为逗号分隔的列表传递给
规范
参数。).

是的..Jasmine默认不支持这个..我签入了
TaskScheduler.js
+1@alecxe-谢谢。我正在考虑使用
suites
属性创建套件,但每次都会覆盖我的e2e测试报告。