在 iOS 上进行 运行 排毒测试时,模拟器无法打开
The simulator doesn't open when running detox test on iOS
当我尝试 运行 detox test
时,模拟器似乎没有打开,测试只是超时。
我确认我的设置是正确的,并且还尝试 以确保我的模拟器可以从终端启动,并且我的 detox
配置中的设备类型是正确的。
我收到的错误如下。
Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.
Error: Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.
和
DetoxRuntimeError: Detox instance has not been initialized
HINT: There was an error on attempt to call detox.init()
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
这是我的配置,出于隐私原因删除了应用名称。
"ios.sim.debug": {
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/example.app",
"build": "xcodebuild -workspace ios/example.xcworkspace -scheme example -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"type": "ios.simulator",
"device": {
"type": "iPhone 11 Pro"
}
},
我该如何调试它?
我发现从 Xcode 9 detox
开始以无头模式运行 iOS 模拟器。如果您正在 运行 测试,然后使用 Spotlight 拉起模拟器并按回车键,那么它将把所有 detox
已打开的模拟器带到前面。
我从这个 comment.
中发现了这个
我还发现我的测试超时的原因是提示用户需要响应,这阻止了 detox
测试的进行。
您的测试似乎没有关联 detox .init 方法。
确保你有 e2e/init.js 并且你需要添加
before(async () => {
await detox.init(config);
});
还要确保在 config.json 中调用此文件(这里可能是错误的,我使用的是 Mocha 而 mocha.opts )
当我尝试 运行 detox test
时,模拟器似乎没有打开,测试只是超时。
我确认我的设置是正确的,并且还尝试 detox
配置中的设备类型是正确的。
我收到的错误如下。
Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.
Error: Timeout - Async callback was not invoked within the 300000ms timeout specified by jest.setTimeout.
和
DetoxRuntimeError: Detox instance has not been initialized
HINT: There was an error on attempt to call detox.init()
DetoxRuntimeError: Aborted detox.init() execution, and now running detox.cleanup()
HINT: Most likely, your test runner is tearing down the suite due to the timeout error
这是我的配置,出于隐私原因删除了应用名称。
"ios.sim.debug": {
"binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/example.app",
"build": "xcodebuild -workspace ios/example.xcworkspace -scheme example -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build",
"type": "ios.simulator",
"device": {
"type": "iPhone 11 Pro"
}
},
我该如何调试它?
我发现从 Xcode 9 detox
开始以无头模式运行 iOS 模拟器。如果您正在 运行 测试,然后使用 Spotlight 拉起模拟器并按回车键,那么它将把所有 detox
已打开的模拟器带到前面。
我从这个 comment.
中发现了这个我还发现我的测试超时的原因是提示用户需要响应,这阻止了 detox
测试的进行。
您的测试似乎没有关联 detox .init 方法。 确保你有 e2e/init.js 并且你需要添加
before(async () => {
await detox.init(config);
});
还要确保在 config.json 中调用此文件(这里可能是错误的,我使用的是 Mocha 而 mocha.opts )