iOS UI测试失败,因为“应用程序未运行,无法获取辅助功能数据.你有没有打电话 – 发射?“

如果这是一个重复的问题,我道歉.我找不到一个而且不知所措.我的测试无法通过,因为应用程序无法启动.我运行测试并观看模拟器,并使用正常的应用程序(用于单元测试),它将在测试运行后打开和关闭但是我的“MyAppUITests”应用程序,它看起来已准备好打开并在启动时崩溃这就是为什么我得到的应用程序没有运行,无法获取辅助功能数据.你有没有打电话 – 发送消息.

UI测试运行时的控制台:

Test Case '-[FizzBuzzUITests.ViewControllerUITests 
    testTapNumberButtonIncrementsscore]' started.
    t =     0.00s     Start Test at 2017-04-10 10:44:25.544
    t =     0.00s     Set Up
    t =     0.01s     Tap "numberButton" Button
    t =     0.01s         Wait for app to idle
    t =     0.07s         Find the "numberButton" Button
    t =     0.08s             Wait for app to idle
    t =     1.13s             Find the "numberButton" Button (retry 1)
    t =     1.25s                 Wait for app to idle
    t =     2.29s             Find the "numberButton" Button (retry 2)
    t =     2.41s                 Wait for app to idle
    t =     2.48s             Assertion Failure: ViewControllerUITests.swift:25: Application is not running,unable to get Accessibility data. Did you call -launch?

启动MyAppUITests时的模拟器系统日志:(删除了comp名称和时间戳以便于阅读)

assertiond[34190]: Submitted job with label: UIKitApplication:com.apple.test.MyAppUITests-Runner[0xc278][34190]
SpringBoard[34185]: [com.apple.test.MyAppUITests-Runner] Bootstrap complete with label: UIKitApplication:com.apple.test.MyAppUITests-Runner[0xc278][34190]
XCTRunner[34865]: assertion Failed: 16E195 14E269: libxpc.dylib + 64131 [624BAF4F-2E03-34F8-ACBA-970B04637786]: 0x7d
XCTRunner[34865]: Running tests...
XCTRunner[34865]: No configuration specified in environment,checking for the most recent test configuration in TMPDIR (/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/Containers/Data/Application/74576325-9D3A-411C-AC5B-1658CBD46272/tmp/)
XCTRunner[34865]: XCTRunner Arguments: (
    "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/Containers/Bundle/Application/B2EA026D-FB60-4164-9C69-5EDDEC53427F/MyAppUITests-Runner.app/XCTRunner"
)
XCTRunner[34865]: XCTRunner Environment: {
    "CFFIXED_USER_HOME" = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/Containers/Data/Application/74576325-9D3A-411C-AC5B-1658CBD46272";
    CLASSIC = 1;
    "CUPS_SERVER" = "/private/tmp/com.apple.launchd.JL1cDBugQn/Listeners";
    "DYLD_FALLBACK_FRAMEWORK_PATH" = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk/System/Library/Frameworks";
    "DYLD_FALLBACK_LIBRARY_PATH" = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk/usr/lib";
    "DYLD_ROOT_PATH" = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk";
    "DYLD_SHARED_REGION" = avoid;
    HOME = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/Containers/Data/Application/74576325-9D3A-411C-AC5B-1658CBD46272";
    "IOS_SIMULATOR_SYSLOG_SOCKET" = "/private/tmp/com.apple.CoreSimulator.SimDevice.DC33C1C6-5EBB-4156-9F1E-C1844955433D.launchd_sim/syslogsock";
    "IPHONE_SHARED_RESOURCES_DIRECTORY" = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data";
    "IPHONE_SIMULATOR_CLASS" = D10;
    "IPHONE_SIMULATOR_ROOT" = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk";
    "IPHONE_TVOUT_EXTENDED_PROPERTIES" = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/Library/Application Support/Simulator/extended_display.plist";
    PATH = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk/usr/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk/bin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk/usr/sbin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk/sbin:/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk/usr/local/bin";
    "SIMULATOR_CAPABILITIES" = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/Library/CoreSimulator/Profiles/DeviceTypes/iPhone 7.simdevicetype/Contents/Resources/capabilities.plist";
    "SIMULATOR_DEVICE_NAME" = "iPhone 7";
    "SIMULATOR_EXTENDED_disPLAY_PROPERTIES" = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/Library/Application Support/Simulator/extended_display.plist";
    "SIMULATOR_HID_SYstem_MANAGER" = "/Applications/Xcode.app/Contents/Developer/Applications/Simulator.app/Contents/Resources/Platforms/iphoneos/SimulatorHID.framework";
    "SIMULATOR_HOST_HOME" = "/Users/myuser";
    "SIMULATOR_LEGACY_ASSET_SUFFIX" = iphone;
    "SIMULATOR_LOG_ROOT" = "/Users/myuser/Library/Logs/CoreSimulator/DC33C1C6-5EBB-4156-9F1E-C1844955433D";
    "SIMULATOR_MAINSCREEN_HEIGHT" = 1334;
    "SIMULATOR_MAINSCREEN_PITCH" = "326.000000";
    "SIMULATOR_MAINSCREEN_SCALE" = "2.000000";
    "SIMULATOR_MAINSCREEN_WIDTH" = 750;
    "SIMULATOR_MEMORY_WARNINGS" = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/var/run/memory_warning_simulation";
    "SIMULATOR_MODEL_IDENTIFIER" = "iPhone9,1";
    "SIMULATOR_PLATFORM_RUNTIME_OVERLAY_ROOT" = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/Library/CoreSimulator/RuntimeOverlay";
    "SIMULATOR_PRODUCT_CLASS" = D10;
    "SIMULATOR_ROOT" = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhonesimulator.platform/Developer/SDKs/iPhonesimulator.sdk";
    "SIMULATOR_RUNTIME_BUILD_VERSION" = 14E269;
    "SIMULATOR_RUNTIME_VERSION" = "10.3";
    "SIMULATOR_SHARED_RESOURCES_DIRECTORY" = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data";
    "SIMULATOR_UDID" = "DC33C1C6-5EBB-4156-9F1E-C1844955433D";
    "SIMULATOR_VERSION_INFO" = "CoreSimulator 375.20 - Device: iPhone 7 - Runtime: iOS 10.3 (14E269) - DeviceType: iPhone 7";
    "TESTMANAGERD_SIM_SOCK" = "/private/tmp/com.apple.launchd.L8ty9mXSmp/com.apple.testmanagerd.unix-domain.socket";
    TMPDIR = "/Users/myuser/Library/Developer/CoreSimulator/Devices/DC33C1C6-5EBB-4156-9F1E-C1844955433D/data/Containers/Data/Application/74576325-9D3A-411C-AC5B-1658CBD46272/tmp";
    "xpc_FLAGS" = 0x0;
    "xpc_SERVICE_NAME" = "UIKitApplication:com.apple.test.MyAppUITests-Runner[0xc278][34190]";
    "xpc_SIMULATOR_launchd_NAME" = "com.apple.CoreSimulator.SimDevice.DC33C1C6-5EBB-4156-9F1E-C1844955433D.launchd_sim";
}
SpringBoard[34185]: [KeyboardArbiter] HW kbd: Failed to set (null) as keyboard focus
com.apple.CoreSimulator.SimDevice.DC33C1C6-5EBB-4156-9F1E-C1844955433D.launchd_sim[34164] (UIKitApplication:com.apple.test.MyAppUITests-Runner[0xc278][34190][34865]): Service exited with abnormal code: 1
assertiond[34190]: Ignoring assertion request named "Deliver Message" from <BSProcessHandle: 0x7fd178711850; SpringBoard:34185; valid: YES> because process { pid 34865; bundleID (null) } is unkNown.
assertiond[34190]: Deleted job with label: UIKitApplication:com.apple.test.MyAppUITests-Runner[0xc278][34190]

更新:添加测试类代码

import XCTest

class ViewControllersUITests: XCTestCase {

    func testTapNumberButtonIncrementsscore() {
        let app = XCUIApplication()
        let numberButton = app.buttons["numberButton"]

        numberButton.tap()
        let newscore = numberButton.label
        XCTAssertEqual(newscore,"1")
    }

}

解决方法

啊,我觉得很蠢.看看另一个应用程序,我在我的测试类中缺少以下代码
override func setUp() {
    super.setUp()

    continueAfterFailure = false
    XCUIApplication().launch()
}

最重要的是XCUIApplication().launch()位.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...