我正在使用 cucumber.io 作为我的自动化测试框架(Java + Selenium + Appium),我们有多个场景和功能,我想一次性执行所有这些。请注意,当我逐个功能运行时,它工作正常,没有错误,并且以随机顺序运行。当我从 IDE(例如 Intelli J、Visual Studio Code 或 Eclipse)运行时,测试以随机顺序按顺序运行,并且全部通过。但是当我从终端运行它并指定这样的标签时
-Dcucumber.options="--tags @TagToRun"
它并行执行不同功能的场景,这会导致 Appium 出现错误;最常见的是
Error creating a session
。我认为它会导致此错误,因为在我的 @AfterClass 中我指定退出驱动程序,然后退出 Appium 服务。如何按顺序而不是并行运行不同功能中的所有场景?
测试似乎是并行运行的,这导致了问题。通过将
maven-surefire-plugin
插件配置为仅运行一个测试来修复此问题。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<parallel>none</parallel>
<threadCount>1</threadCount>
</configuration>
</plugin>