在赛普拉斯中运行时,如何将某些测试或文件分组在一起?

时间:2019-02-11 16:29:27

标签: automation e2e-testing cypress

我当前正在运行赛普拉斯(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中放入任何内容或进行其他修改,还是可以通过终端来实现? 我必须使用哪些选项?

谢谢

2 个答案:

答案 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/**/*'