ios - XCUITest 测试执行顺序

标签 ios xcode automated-tests xctest xcuitest

是否有任何已知方法可以影响 XCUITest 调用测试方法的顺序?目前,以何种顺序调用哪种测试方法似乎完全是任意的。

这使得无法定义特定顺序。一般来说,Xcode 管理 XCUITest 运行的方式不是最优的,因为您必须为每个测试用例定义一个测试函数。更可取的是仅从一种方法启动完整的测试 session ,这样人们就可以在例如 session :功能:场景中构建自己的测试。

...这正是我想要做的,因为我们遵循 Calabash 风格的测试结构和我围绕 XCUITest 编写的框架提供了许多附加功能(例如 Testrail 集成)。

我尝试以这样一种方式实现框架,即所有功能和场景都被组织起来并从单个 test() 方法开始。如果 Xcode 允许这样做,这会起作用,但事实证明,在每个场景之间终止和启动应用程序是有问题的,因为它会导致主线程停顿甚至崩溃。因此,我为我们的框架添加了支持,以老式的 Xcode 方式来实现,即必须为每个测试定义一个方法,但顺序被 Xcode 打乱了,这打乱了 Testrail 的日志和报告的生成。

最佳答案

XCUITest 按字母升序执行测试(除非随机化)。您可以像下面这样命名测试方法以按照您想要的顺序运行

test01FirstCase() {//测试代码 }

test02ThirdCaseButRunsSecond() {//测试代码 }

test03SecondCaseButRunsThird() {//测试代码 }

关于ios - XCUITest 测试执行顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46722227/

相关文章:

c++ - 为什么 Xcode 11 beta 不能使用 C++17 的 <filesystem> header ?

gradle - Gradle TestNG Task未创建测试输出文件夹

unit-testing - 测试驱动开发中测试列表的概念

ios - iPad:在屏幕上保留选定的表格 View 单元格

xcode - 如何在 Xcode mac 应用程序的选项卡 View 中放置对象?

ios - UITextField 占位符在点击时保持显示

ios - xcode项目组织

selenium - 在 Katalon Studio 中配置 If-else 语句

ios - 尝试在 Moya 中发送 [JSON] 作为参数值时出现错误

iphone - EXC_BAD_ACCESS 错误.. textfield resignFirstResponder