iOS UI 测试失败,因为“应用程序未运行,无法获取辅助功能数据。您调用 -launch 了吗?”
Posted
技术标签:
【中文标题】iOS UI 测试失败,因为“应用程序未运行,无法获取辅助功能数据。您调用 -launch 了吗?”【英文标题】:iOS UI Tests failing because "Application is not running, unable to get Accessibility data. Did you call -launch?" 【发布时间】:2017-04-10 14:58:27 【问题描述】:如果这是一个重复的问题,我深表歉意。我一直没能找到并且不知所措。我的测试无法通过,因为应用程序没有启动。我运行了测试并观看了模拟器,并且使用普通应用程序(用于单元测试),它会在测试运行后打开和关闭,但我的“MyAppUITests”应用程序看起来已经准备好打开并在启动时崩溃这就是我收到Application is not running, unable to get Accessibility data. Did you call -launch
消息的原因。
运行 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
时的模拟器系统日志:(为了便于阅读,移除了组件名称和时间戳)
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")
【问题讨论】:
你能发布你的测试类代码吗? @joern 刚刚用测试类代码更新了问题! 【参考方案1】:啊,我觉得我很愚蠢。查看另一个应用程序,我的测试类中缺少以下代码:
override func setUp()
super.setUp()
continueAfterFailure = false
XCUIApplication().launch()
最重要的是XCUIApplication().launch()
位。
【讨论】:
以上是关于iOS UI 测试失败,因为“应用程序未运行,无法获取辅助功能数据。您调用 -launch 了吗?”的主要内容,如果未能解决你的问题,请参考以下文章