我当前正在运行赛普拉斯(Cypress),并且其中有文件夹,其中有针对不同应用程序的测试。 我有一个名为“ smhw-qa”的文件夹,其中包含此特定应用程序的子文件夹和测试文件。
此目录apps
将来还将包含其他应用程序。
为了避免每次都要运行每次测试,我希望只运行该特定文件夹。文件夹的位置如下:
'cypress/integration/apps/smhw-qa'
随着时间的流逝,将会有更多的文件夹和测试添加到apps
目录中。
我我熟悉如何运行特定文件,因此请执行以下工作:
npx cypress run --spec 'cypress/integration/apps/smhw-qa/banners_promos_global/global_search.js'
当我使用npx cypress -run
命令时如何指定Cypress具体运行哪个文件夹?
要运行特定的测试文件,我尝试过:
npx cypress run --project 'cypress/integration/apps/smhw-qa'
但这提供了一个错误:
Can't run because no spec files were found.
We searched for any files inside of this folder:
/Users/jaswindersingh/Documents/cypress-automation/automation/cypress/integration/apps/smhw-qa/cypress/integration
通过它们的文件夹运行特定的测试集对我来说会容易得多,例如,在我们的CI平台上运行特定的测试套件时,可以节省时间。由于这很耗时,因此我也不需要指定单个文件。
这也意味着我可以拆分测试,然后在不同的计算机上运行
我是否需要在测试文件中或cypress.json
中放入任何内容或进行其他修改,还是可以通过终端来实现?
我必须使用哪些选项?
谢谢
答案 0 :(得分:0)
文档说,通过--project
您可以管理不同的cypress.json文件
这使您可以将Cypress安装在顶级node_modules文件夹中,而在嵌套文件夹中运行Cypress。当您的仓库中有多个赛普拉斯项目时,这也很有用。
所以您使用正确的方法,只需准备一些与项目相关的cypress.json
文件
答案 1 :(得分:0)
我认为提示是错误消息,您致电
cypress/integration/apps/smhw-qa
,错误消息显示
cypress/integration/apps/smhw-qa/cypress/integration
要使用--project
标志,您需要为每个项目复制/cypress
文件夹,如本示例cypress-test-nested-projects
文件夹结构:
package.json
node_modules
src/
clients/
foo/
cypress.json
cypress/
bar/
cypress.json
cypress/
但是,我认为您可能想使用--spec
标志。如果我理解正确,则可以使用全局模式来保留当前的文件夹结构。 Docs
cypress run --spec 'cypress/integration/apps/smhw-qa/**/*'