Gulp:我想用不同的参数同时运行相同的任务来运行一些不是并行模式的e2e测试

时间:2017-02-05 00:53:14

标签: javascript node.js npm gulp protractor

我在并行模式下使用量角器运行我的e2e测试套件并创建了一个gulp任务来运行它们并且为了并行运行它们,我尽量保持所有规格尽可能独立。但是,在某些情况下,我无法避免功能的全局特性,因为我正在运行它们并行破坏其中一个规范,并且确保规范不会间歇性破坏的唯一方法是将该规范从并行套装中取出单独运行。

我使用gulp.series同时运行所有任务但是我只传递参数的任务,我的问题是“如何同时运行相同的任务并从控制台传递不同的参数?”

以下是我的结构:

  

文件:protractor.conf.js

     
      
  • 套房:{      
        
    • suite1:“test / dir1 / xyz.js”,
    •   
    • suite2:“test / ** / * .js”
    •   
  •   
  • }
  •   
     

文件:package.json

     
      
  • “scripts”:{      
        
    • “preprot”:“webdriver-manager update”,
    •   
    • “prot”:“gulp tests”
    •   
  •   
  • }
  •   
     

文件:gulpfile.js

     
      
  • function eetests(){      
        
    • - 接受参数
    •   
    • 返回
    •   
  •   
  • }
  •   
     

gulp.task(“tests”,gulp.series(lint,styleCheck,eetests()));

我在终端中使用以下命令进行测试:

npm run prot --suite=suite2 --parallel= # of parallel browser instances

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ 我想做的是:

gulp.task("tests", gulp.series(lint, styleCheck, eetests(),eetests()));

然后传递可能是两个评论,如

npm run prot --suite=suite2 --parallel= # of parallel browser instances
--suite=suite2 --parallel = 0

此外,请告诉我是否有其他方法可以做到这一点。我的最终目标是以并行模式运行整个套件,除了一个或两个规格,并一次运行一个或一个浏览器的规格。

0 个答案:

没有答案