有没有一种方法可以在多个应用程序上执行一套测试,而无需一次性卸载并重新安装应用程序?用黄瓜

问题描述 投票:0回答:1

大家早上好

我对黄瓜框架有一个很大的疑问。

这就是我现在的情况:

我有 4 个应用程序使用白标方法(4 个应用程序是相似的)。请记住,在每个应用程序中,我们都必须首先登录。举例来说,我为每个功能创建了一个 .feature 文件。

我可以在特定应用程序中启动所有测试吗?这些测试完成后,在下一个应用程序中重新运行相同的测试套件。我们执行相同的流程,直到测试完所有应用程序为止。

我现在的实际行为是:

我有我的功能文件。

Feature: page 1

 @page1.  
 Scenario: The page 1 contains an element 1

   Given the app1 is installed on a mobile device
   When the user launch the app1
   Then the user login with his account

 @page1.  
 Scenario: The page 1 contains an element 2

   Given the app1 is installed on a mobile device
   When the user launch the app1
   Then the user login with his account

请记住:

  • 该元素将根据他登录的帐户而变化。

  • 我想在 3 个不同的应用程序上测试相同的流程(相同的界面,不同的徽标)

当我运行特定的功能文件时,它执行测试的方式是:

在第一个应用程序上测试第一个场景,然后将其卸载

与其他应用程序测试相同的场景,然后将其卸载

相同的流程,直到我们测试完所有应用程序为止。

然后,对下一个场景执行相同的流程。

我想做的是找到一种我可以说的方式:

好的,我们将安装第一个应用程序,并运行我们必须测试的所有测试, 一旦我们完成第一个应用程序的测试,我们就会对下一个应用程序执行相同的操作。

重要...在功能文件中,我可能需要使用多个帐户测试相同的场景(这就是为什么我必须使用场景大纲)。不过,我可以使用相同的数据来测试其他场景,但我想避免每次执行一些测试时都安装和卸载应用程序。

您是否已经面临过这样的问题?

感谢您的帮助!

java cucumber bdd spring-boot-test gherkin
1个回答
0
投票

Cucumber 和其他 BDD 框架非常擅长帮助人们使用半形式语言 (Gherkin) 讨论应用程序的行为,并就应用程序在不同上下文中的行为方式达成一致。我认为它是一个规范工具,它产生测试作为副产品。

您所说的是在多个不同的应用程序上下文中测试行为。 Cucumber 并不是真正为跨这些倍数工作而设计的,更不用说将应用程序安装到多个环境了。为此,您可能需要查看您的构建工具(例如 Jenkins)。

如果您可以让套件在提供的任何应用程序上下文中运行,则可以使构建部署这些上下文并为每个上下文运行套件。

您的构建工具可以运行任何设置帐户、迁移数据以及安装和配置应用程序的脚本。有很多 DevOps 工具和模拟环境也可以帮助管理这些上下文。

虽然通过覆盖场景运行器在 Cucumber 中可能可以做到这一点,但这并不是 Cucumber 真正设计要做的事情。

© www.soinside.com 2019 - 2024. All rights reserved.