- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
在我的混合应用程序中运行 detox 时,detox 在超时之前卡在了 init 上。 [最后一条日志是 detox verb ws send: {"type":"isReady","params":{},"messageId":-1000}
]
混合应用程序有原生登录,但大部分应用程序都是原生的。如果我匆忙登录并进入应用程序的 React Native 部分,那么 Detox 会顺利运行。
设置与 https://github.com/wix/detox/blob/master/docs/Introduction.GettingStarted.md 中描述的相同
onst detox = require('detox');
const config = require('../package.json').detox;
before(async () => {
console.log("************************* CONSOLE LOG ASYNC BEFORE *************************");
await detox.init(config);
console.log("************************* CONSOLE LOG ASYNC END BEFORE *************************");
});
after(async () => {
await detox.cleanup();
});
正如您在日志中看到的,它永远不会到达“CONSOLE LOG ASYNC END BEFORE”(除非我快速跳过应用程序的 ios 部分)
"dependencies": {
...
"mocha": "5.0.4",
"detox": "7.1.0",
...
},
"detox": {
"configurations": {
"ios.sim.debug": {
"binaryPath": "member/ios/build/Build/Products/Debug-iphonesimulator/MyappMember.app",
"build": "xcodebuild -workspace member/ios/MyappMember.xcworkspace -scheme MyappMember -configuration Debug -sdk iphonesimulator -derivedDataPath member/ios/build",
"type": "ios.simulator",
"name": "iPhone 7"
}
}
},
Bug Crusher:mobile etai$ detox test -l verbose
node_modules/.bin/mocha e2e --opts e2e/mocha.opts --loglevel verbose
************************* CONSOLE LOG ASYNC BEFORE *************************
detox-server info 16:50:24: server listening on localhost:57324...
detox verb ws onOpen [object Object]
detox verb ws send: {"type":"login","params":{"sessionId":"417aebb8-870c-5798-827c-de0301e7cf17","role":"tester"},"messageId":0}
detox verb ws onMessage: {"type":"loginSuccess","params":{"sessionId":"417aebb8-870c-5798-827c-de0301e7cf17","role":"tester"},"messageId":0}
detox verb ws
detox verb 1: applesimutils --list "iPhone 7" --maxResults=1
detox info 1: Searching for device matching iPhone 7...
detox verb 1: stdout: [
detox verb 1: stdout: {
detox verb 1: stdout: "state" : "Booted",
detox verb 1: stdout: "availability" : "(available)",
detox verb 1: stdout: "name" : "iPhone 7",
detox verb 1: stdout: "udid" : "ABE6CC96-22A1-4FB3-A62E-017033848CD7",
detox verb 1: stdout: "os" : {
detox verb 1: stdout: "version" : "11.2",
detox verb 1: stdout: "availability" : "(available)",
detox verb 1: stdout: "name" : "iOS 11.2",
detox verb 1: stdout: "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-11-2",
detox verb 1: stdout: "buildversion" : "15C107"
detox verb 1: stdout: }
detox verb 1: stdout: }
detox verb 1: stdout: ]
detox verb 1: stdout:
detox verb 2: detox verb 2: applesimutils --list
...
detox verb 3: /usr/bin/xcrun simctl uninstall ABE6CC96-22A1-4FB3-A62E-017033848CD7 com.myapp.MyappMemberDebug
detox info 3: Uninstalling com.myapp.MyappMemberDebug...
detox info 3: com.myapp.MyappMemberDebug uninstalled
detox verb 4: /usr/bin/xcrun simctl install ABE6CC96-22A1-4FB3-A62E-017033848CD7 /Users/etai/Code/data/mobile/member/ios/build/Build/Products/Debug-iphonesimulator/MyappMember.app
detox info 4: Installing /Users/etai/Code/data/mobile/member/ios/build/Build/Products/Debug-iphonesimulator/MyappMember.app...
detox info 4: /Users/etai/Code/data/mobile/member/ios/build/Build/Products/Debug-iphonesimulator/MyappMember.app installed
detox verb 5: /usr/bin/xcrun simctl terminate ABE6CC96-22A1-4FB3-A62E-017033848CD7 com.myapp.MyappMemberDebug
detox info 5: Terminating com.myapp.MyappMemberDebug...
detox info 5: com.myapp.MyappMemberDebug terminated
detox verb 6: /bin/cat /dev/null >$HOME/Library/Developer/CoreSimulator/Devices/ABE6CC96-22A1-4FB3-A62E-017033848CD7/data/tmp/detox.last_launch_app_log.out 2>$HOME/Library/Developer/CoreSimulator/Devices/ABE6CC96-22A1-4FB3-A62E-017033848CD7/data/tmp/detox.last_launch_app_log.err && SIMCTL_CHILD_DYLD_INSERT_LIBRARIES="/Users/etai/Library/Detox/ios/fc3bb123b36c426327a2ab12f6d5185aa779ec37/Detox.framework/Detox" /usr/bin/xcrun simctl launch --stdout=/tmp/detox.last_launch_app_log.out --stderr=/tmp/detox.last_launch_app_log.err ABE6CC96-22A1-4FB3-A62E-017033848CD7 com.myapp.MyappMemberDebug --args -detoxServer ws://localhost:57324 -detoxSessionId 417aebb8-870c-5798-827c-de0301e7cf17
detox info 6: Launching com.myapp.MyappMemberDebug...
detox verb 6: stdout: com.myapp.MyappMemberDebug: 6445
detox verb 6: stdout:
detox info 6: com.myapp.MyappMemberDebug launched. The stdout and stderr logs were recreated, you can watch them with:
tail -F $HOME/Library/Developer/CoreSimulator/Devices/ABE6CC96-22A1-4FB3-A62E-017033848CD7/data/tmp/detox.last_launch_app_log.{out,err}
detox verb ws send: {"type":"isReady","params":{},"messageId":-1000}
1) "before all" hook
0 passing (2m)
1 failing
1) "before all" hook:
Error: Timeout of 120000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
child_process.js:644
throw err;
^
Error: Command failed: node_modules/.bin/mocha e2e --opts e2e/mocha.opts --loglevel verbose
at checkExecSyncError (child_process.js:601:13)
at Object.execSync (child_process.js:641:13)
at runMocha (/Users/etai/Code/data/mobile/node_modules/detox/local-cli/detox-test.js:72:6)
at Object.<anonymous> (/Users/etai/Code/data/mobile/node_modules/detox/local-cli/detox-test.js:50:5)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Function.Module.runMain (module.js:684:10)
Bug Crusher:mobile etai$
2018-03-08 16:50:29.645 MyappMember[6445:1612042] Crash handler setup started.
2018-03-08 16:50:29.645 MyappMember[6445:1612042] Crash handler setup completed.
2018-03-08 16:50:29.646 MyappMember[6445:1612042] Enabling accessibility for automation on Simulator.
2018-03-08 16:50:30.447 MyappMember[6445:1612042] You've implemented -[<UIApplicationDelegate> application:didReceiveRemoteNotification:fetchCompletionHandler:], but you still need to add "remote-notification" to the list of your supported UIBackgroundModes in your Info.plist.
2018-03-08 16:50:30:452 MyappMember[6445:1612042] INFO: App did finish launching. Running v4.8.0.
2018-03-08 16:50:30:469 MyappMember[6445:1612042] INFO: First time app has been run. Clearing session token from keychain.
2018-03-08 16:50:30.519 MyappMember[6445:1612042] Simulator user has requested new graphics quality: 10
2018-03-08 16:50:30.567 MyappMember[6445:1612042] [Crashlytics] Version 3.8.6 (124)
2018-03-08 16:50:30:577 MyappMember[6445:1612042] INFO: App did become active
2018-03-08 16:50:30:583 MyappMember[6445:1612042] DBG: Device registered 0 | Alerts enabled 0
2018-03-08 16:50:30:584 MyappMember[6445:1612042] INFO: Checking if healthkit data available in background
2018-03-08 16:50:30:584 MyappMember[6445:1612042] INFO: Allocated new OIHealthKitService <OIHealthKitService: 0x6040002a5ac0>
2018-03-08 16:50:30:584 MyappMember[6445:1612042] INFO: Allocated steps data source
2018-03-08 16:50:30:584 MyappMember[6445:1612042] INFO: Allocated new steps data source <OIStepsDataSource: 0x6040000dc230>
2018-03-08 16:50:30.664 MyappMember[6445:1612042] Unknown class UIview in Interface Builder file.
2018-03-08 16:50:30:676 MyappMember[6445:1612042] INFO: [OIKeychainService searchKeychainCopyMatchingIdentifier:] Error -25300. Identifier com.myapp.keychain.session_token
2018-03-08 16:50:30:678 MyappMember[6445:1612042] INFO: View will appear for Logged Out Home Screen
2018-03-08 16:50:30:756 MyappMember[6445:1612042] INFO: Healthkit data available: 1
2018-03-08 16:50:30:779 MyappMember[6445:1612042] INFO: OIQuickLoginAuthManager: Prompt not shown this run
2018-03-08 16:50:30:780 MyappMember[6445:1612042] INFO: [OIKeychainService searchKeychainCopyMatchingIdentifier:] Error -25300. Identifier touchID
2018-03-08 16:50:30:781 MyappMember[6445:1612042] INFO: [OIKeychainService searchKeychainCopyMatchingIdentifier:] Error -25300. Identifier passcode
2018-03-08 16:50:30:781 MyappMember[6445:1612042] INFO: OIQuickLoginAuthManager: Neither touch id nor passcode enabled so nothing to do
2018-03-08 16:50:30:797 MyappMember[6445:1612042] INFO: View will appear for (null)
2018-03-08 16:50:30:797 MyappMember[6445:1612042] INFO: OIViewController session is nil!
2018-03-08 16:50:32.772 MyappMember[6445:1612042] [Crashlytics:Crash] Warning: NSUncaughtExceptionHandler is 'grey_uncaughtExceptionHandler' in '/Users/etai/Library/Detox/ios/fc3bb123b36c426327a2ab12f6d5185aa779ec37/Detox.framework/Frameworks/EarlGrey.framework/EarlGrey'
[Crashlytics] The signal SIGABRT has a non-Crashlytics handler (CLSLookupFunctionPointer). This will interfere with reporting.
[Crashlytics] The signal SIGBUS has a non-Crashlytics handler (CLSLookupFunctionPointer). This will interfere with reporting.
[Crashlytics] The signal SIGFPE has a non-Crashlytics handler (CLSLookupFunctionPointer). This will interfere with reporting.
[Crashlytics] The signal SIGILL has a non-Crashlytics handler (CLSLookupFunctionPointer). This will interfere with reporting.
[Crashlytics] The signal SIGSEGV has a non-Crashlytics handler (CLSLookupFunctionPointer). This will interfere with reporting.
[Crashlytics] The signal SIGSYS has a non-Crashlytics handler (CLSLookupFunctionPointer). This will interfere with reporting.
[Crashlytics] The signal SIGTRAP has a non-Crashlytics handler (CLSLookupFunctionPointer). This will interfere with reporting.
最佳答案
此错误与内部排毒有关。它是固定的。 https://github.com/wix/detox/issues/615
关于ios - 排毒测试卡在 detox.init 的混合应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49183240/
我想知道如何在 React Native 中默认 AsyncStorage 值以进行排毒测试。 我有一个欢迎模式,显示用户首次登录的时间。我们通过存储 AsyncStorage 值来控制是否显示模态。
我正在尝试获取 react-native "Hello World" app使用 Detox 设置并在 Bitrise.io 上运行。我阅读了 react-native-cli 入门指南,并尝试在 B
这就是我对动画按钮的意思。我让它有一个 ID,但它无法被 Detox 以某种方式定位。 Detox eliminates flakiness by automatically synchronizin
运行 detox test运行套件中的所有测试。有没有办法运行测试的子集?单个测试文件,或单个测试用例。 根据文档,我已将 Detox 配置为使用 Mocha 作为测试运行程序。我知道摩卡有一个 -g
我需要使用 native IOS DatePicker 输入一天。我如何将控制轮旋转到可能不在 View 中的某个值,因为这是从当前日期开始的? 最佳答案 Detox 7.3.x 支持与 iOS 交互
我正在使用 Detox 在 React Native 应用程序上使用以下规范进行 E2E 测试: react native 0.55.4 节点9.2.0 排毒7.3.7 当我在应用程序内的页面上时,我
有没有一种方法可以在不使用 Detox 的情况下检查元素是否存在?现在,我必须将我的逻辑嵌套在 try/catch block 中以控制测试流程,以减轻在继续测试之前检查屏幕状态时的不稳定。我更愿意使
有没有一种方法可以在不使用 Detox 的情况下检查元素是否存在?现在,我必须将我的逻辑嵌套在 try/catch block 中以控制测试流程,以减轻在继续测试之前检查屏幕状态时的不稳定。我更愿意使
我正在尝试使用 device.launchApp({ permissions: { notifications: 'YES' } }) 启用权限,但它似乎没有被调用。 这是我的测试: describe
我正在关注 detox mocking guide与 typescript 。该应用程序始终打印 X.ts 的 console.log文件而不是 X.e2e.ts文件。 依赖版本。 react-nat
使用 detox 运行测试用例时,我面临以下错误。 我安装了所有依赖项作为它的一部分。 Can't find a simulator to match with " iPhone 6 ", run '
我有一个像这样的导航器结构: stack drawer stack tab 我的层次结构是: view view flatlist 我试图让我的平面列表向下滚动。您可以看到手指动画,但列表没有移
我正在使用 Detox在我的 React Native 项目中运行端到端测试。我也在使用假装.js 来模拟我的 API 请求,我正在努力寻找一种方法来了解应用程序当前是否处于“测试”模式。 我正在传递
我目前正在为现有项目设置 Detox 并遇到障碍。 我正在使用 Detox + Jest 并收到错误消息 [Client.js/PENDING_REQUESTS] App has not respon
问题描述: 尝试为 Expo Ejected App 运行排毒测试时,detox build成功,但尝试运行 detox test面临以下错误 DetoxRuntimeError:Detox inst
我已经在 detox repo 上为此创建了一个问题 here . 我有一个使用 Jest 测试的 React Native 应用程序和 Detox . 在本地,Detox 测试运行没有任何问题(也在
描述 在我的混合应用程序中运行 detox 时,detox 在超时之前卡在了 init 上。 [最后一条日志是 detox verb ws send: {"type":"isReady","param
我可以使用 Jest 期望值 ( https://jestjs.io/docs/en/expect ) 而不是 Detox 期望值吗?如果可能的话,你能告诉我怎么做吗?我安装了 Jest runner
我想在我的 react-native 应用程序中运行排毒测试时传递环境变量: "ios.sim.debug": { "binaryPath": "ios/build/Build/Produc
请有人告诉我用于本地排毒测试的模拟文件如何 react ?我在关注 this article 我正在使用 react-native 版本 0.57.7 和 detox 9.1.2 我在根目录中创建了
我是一名优秀的程序员,十分优秀!