量角器 - 如何在运行时运行特定套件并使用通用命令运行所有套件?



Protractor版本:5.4.1基于Angular 8的web应用程序

1( 我想在运行时包含套件名称,而不是在package.json中定义。因此,我可以灵活地运行任何套件,而无需在包文件中添加所有套件命令,这会造成污染。示例在这个示例中,我只想运行group2,而不想在package.json中定义为单独的项。我对特定套件的当前命令如下所示,位于package.json文件中。

"view-group2": " "ng e2e --dev-server-target= --no-webdriver-update --protractor-config="./test/config/view-suites.conf.js" --suite group2"",

尝试在命令提示符/powershell中执行时,我收到以下错误。我尝试过引用和不引用,但都没有成功。

出现未处理的异常:项目"group2"不支持"e2e"目标。有关详细信息,请参阅"C:\Users***\AppData\Local\Temp\ryByPU\angular errors.log"。npm ERR!文件C:\WINDOWS\system32\cmd.exenpm ERR!代码ELIFECYCLEnpm ERR!errno ENOENTnpm ERR!系统调用生成npm ERR!tts@8.3.0ng:ng "e2e" "forex"npm ERR!产卵ENOENTnpm ERR!npm ERR!在处失败tts@8.3.0ng脚本。

2( 在套房内,我有多个套房组(下面的示例(。是否有任何命令可用于运行所有套件,而不是以逗号分隔的方式调用每个套件?在一些博客中,它被称为"--suites",但不受支持。即使是量角器文档也没有关于这个选项的任何细节。

...    
suites:{
group1:'../group1/*.spec.ts',
group2:'../group2/*.spec.ts',
....
....
groupn:'../groupn/*.spec.ts',
},
...

提前谢谢。

我已经为我的第一个需求确定了解决方案。所以考虑共享

我想在运行时包括套件名称,而不是在package.json 中定义

以下代码将有助于动态添加套件名称

@angular/cli/bin/ng e2e --no-webdriver-update --port 4200
--protractor-config=test/config/view-suites.conf.js --suite %Suite%" --success first

赞扬的细节如下:-并发-是用于并行运行脚本的nom库帮助,需要首先在全局范围内安装该脚本启动mock服务器-是基于package.json的命令,用于启动基于配置的mock服务器node--max_old_space_size=4096-是一个可选参数,如果应用程序包返回任何堆内存问题,则需要此参数,否则可以忽略此参数%Suite%-值将是生成定义中的动态密码。当从开发人员机器上运行时,它可以直接作为--suite登录传递。(登录是您在view-suites.conf.js文件中定义的示例套件(

这有助于我们不污染package.json,也可以简单地为Azure DevOps CI中的不同套件重复使用一个构建定义。显然,所有持续集成系统都有动态价值支持。

最新更新