我有一系列的UITests我想作为单独的测试运行,但我不想在每次测试之间重新启动应用程序.如何启动应用程序并使其保持打开状态,以便它不会在测试之间关闭和重新启动.
我尝试在init()中放置XCUIApplication().launch()但是出错了.
在您的setUp()方法中,删除[[[XCUIApplication alloc] init] launch];并将其放入您将要执行的第一个测试中.
例如,
如果你有测试:testUI(),testUIPart2(),testUIPart3()等,它按此顺序运行,放入[[[XCUIApplication alloc] init] launch];testUI()的第一行,而不是其他地方.
为了改善@James Goe的答案-
为了避免所有这些重新启动,但保持运行单个测试的能力-不在乎测试的运行顺序,您可以:
class MyTests: XCTestCase {
static var launched = false
override func setUp() {
if (!MyTests.launched) {
app.launch()
MyTests.launched = true
}
Run Code Online (Sandbox Code Playgroud)
(当然,既然您不重新启动应用程序,则必须更加关心状态,但这是另一回事了。它肯定更快。)
| 归档时间: |
|
| 查看次数: |
2155 次 |
| 最近记录: |