macaca-cli: xctest client proxy error with: Error: connect ECONNREFUSED 172.18.156.69:8100
os: os x 10.11.6 macaca version:1.1.2 ios driver: 1.0.36 device: iPhone6S(9.3.5) 真机运行时,大概率会反复出现此错误(同样的代码步骤可以正常运行过)。出现此提示失败后,设备上过了一段时间才会自动启动起WebDriverAgent并自动关闭。
ERROR LOG:
QA-deMac-mini:~ qa$ macaca server --verbose
>> index.js:17:12 [master] pid:6048 webdriver server start with config:
{ port: 3456,
verbose: true,
ip: '192.168.241.195',
host: 'QA-deMac-mini.local',
loaded_time: '2016-09-12 18:15:55' }
>> middlewares.js:17:10 [master] pid:6048 base middlewares attached
>> router.js:108:10 [master] pid:6048 router set
>> webdriver sdk launched
>> responseHandler.js:11:12 [master] pid:6048 Recieve HTTP Request from Client: method: POST url: /wd/hub/session, jsonBody: {"desiredCapabilities":{"platformVerison":"9.3.5","platformName":"iOS","bundleId":"com.nd.app.factory.jianggongyouth","udid":"<udid>","browserName":"firefox","version":"","javascriptEnabled":true,"platform":"ANY"}}
>> session.js:47:10 [master] pid:6048 Creating session, sessionId: e9d76ab1-ae08-4d74-890b-0f4f5f1dddda.
>> xctest-client.js:43:14 [master] pid:6048 project path: /usr/local/lib/node_modules/macaca-ios/node_modules/xctest-client/node_modules/webdriveragent/WebDriverAgent/WebDriverAgent.xcodeproj
>> macaca-ios.js:130:10 [master] pid:6048 {
"bundleId": "com.nd.app.factory.jianggongyouth",
"platformName": "iOS",
"browserName": "firefox"
}
>> xctest-client.js:183:12 [master] pid:6048 xcode version: 7.3.1
>> WebDriverAgent version: 1.0.25
>> xctest-client.js:156:14 [master] pid:6048 2016-09-12 18:16:03.293 xcodebuild[6054:27353] [MT] IDETestOperationsObserverDebug: (87020BAC-33C0-4DE0-BB81-50C355B6773B) Beginning test session 87020BAC-33C0-4DE0-BB81-50C355B6773B with Xcode 7D1014 on target <DVTiOSDevice: 0x7f85c5683720> {
deviceSerialNumber: FK1QF2JTGRYC
identifier: <udid>
deviceClass: iPhone
deviceName: My iPhone
deviceIdentifier: <udid>
productVersion: 9.3.5
buildVersion: 13G36
deviceSoftwareVersion: 9.3.5 (13G36)
deviceArchitecture: arm64
deviceTotalCapacity: 59669319680
deviceAvailableCapacity: 7193366528
deviceIsTransient: NO
ignored: NO
deviceIsBusy: NO
deviceIsActivated: YES
deviceActivationState: Activated
deviceType: <DVTDeviceType:0x7f85c53c0a90 Xcode.DeviceType.iPhone>
supportedDeviceFamilies: (
1
)
applications: (null)
provisioningProfiles: (null)
activityProgress: -2
activityTitle:
hasInternalSupport: NO
isSupportedOS: YES
developerDiskMountError: (null)
(null)
} (9.3.5 (13G36))
>> xctest-client.js:156:14 [master] pid:6048 2016-09-12 18:16:03.296 xcodebuild[6054:27355] IDETestOperationsObserverDebug: Writing diagnostic log for test session to:
/Users/qa/Library/Developer/Xcode/DerivedData/WebDriverAgent-drmzhetqodgefhaqpyureuezairh/Logs/Test/616A811A-9156-45F8-A4E1-969BE3F2DAD9/Session-2016-09-12_18:16:03-bizmtg.log
>> xctest-client.js:156:14 [master] pid:6048 MDMCreateDeltaDirectory:1920 calling MDMDirectoryDiff with:
state->old_bundle: /var/folders/7x/rvnhm1zs44j1mkq4fg6qzqqm0000gn/C/com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas/7566f7ff6f0cd873d892945ee2a11b48/<udid>/WebDriverAgentRunner-Runner.app
state->new_bundle: /Users/qa/Library/Developer/Xcode/DerivedData/WebDriverAgent-drmzhetqodgefhaqpyureuezairh/Build/Products/Debug-iphoneos/WebDriverAgentRunner-Runner.app
state->dst_bundle: /var/folders/7x/rvnhm1zs44j1mkq4fg6qzqqm0000gn/C/com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas/WebDriverAgentRunner-Runner.app.BC8Qop/WebDriverAgentRunner-Runner.app_sparse.ipa/Payload//WebDriverAgentRunner-Runner.app, binaryDiff flag: FALSE
dst_ipa: /var/folders/7x/rvnhm1zs44j1mkq4fg6qzqqm0000gn/C/com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas/WebDriverAgentRunner-Runner.app.BC8Qop/WebDriverAgentRunner-Runner.app_sparse.ipa
>> xctest-client.js:156:14 [master] pid:6048 __MDMDirectoryDiff_block_invoke37:1473 calling writeDictToFile with: /var/folders/7x/rvnhm1zs44j1mkq4fg6qzqqm0000gn/C/com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas/WebDriverAgentRunner-Runner.app.BC8Qop/WebDriverAgentRunner-Runner.app_sparse.ipa/ManifestCache.plist
>> xctest-client.js:156:14 [master] pid:6048 writeDictToFile:1278 ==== Successfully wrote Manifest cache to /var/folders/7x/rvnhm1zs44j1mkq4fg6qzqqm0000gn/C/com.apple.DeveloperTools/All/Xcode/EmbeddedAppDeltas/WebDriverAgentRunner-Runner.app.BC8Qop/WebDriverAgentRunner-Runner.app_sparse.ipa/ManifestCache.plist
>> proxy.js:54:14 [master] pid:6048 Proxy: /session:POST to http://172.18.156.69:8100/session:POST with body: {"desiredCapabilities":{"bundleId":"com.nd.app.factory.jianggongyouth","platformName":"iOS","browserName":"firefox"}}
>> proxy.js:58:18 [master] pid:6048 xctest client proxy error with: Error: connect ECONNREFUSED 172.18.156.69:8100
/usr/local/lib/node_modules/macaca-ios/node_modules/xlogger/lib/xlogger.js:169
throw new Error(res);
^
Error: >> proxy.js:58:18 [master] pid:6048 xctest client proxy error with: Error: connect ECONNREFUSED 172.18.156.69:8100
at Logger.error (/usr/local/lib/node_modules/macaca-ios/node_modules/xlogger/lib/xlogger.js:169:9)
at Request._callback (/usr/local/lib/node_modules/macaca-ios/node_modules/xctest-client/lib/proxy.js:58:18)
at self.callback (/usr/local/lib/node_modules/macaca-ios/node_modules/xctest-client/node_modules/request/request.js:199:22)
at emitOne (events.js:77:13)
at Request.emit (events.js:169:7)
at Request.onRequestError (/usr/local/lib/node_modules/macaca-ios/node_modules/xctest-client/node_modules/request/request.js:821:8)
at emitOne (events.js:77:13)
at ClientRequest.emit (events.js:169:7)
at Socket.socketErrorListener (_http_client.js:269:9)
at emitOne (events.js:77:13)
at Socket.emit (events.js:169:7)
at emitErrorNT (net.js:1269:8)
at nextTickCallbackWith2Args (node.js:442:9)
at process._tickCallback (node.js:356:17)
About this issue
- Original URL
- State: closed
- Created 8 years ago
- Comments: 18 (6 by maintainers)
@candialala 找到原因了,自己解决的,原因是xctest-client.js里设置的sleep时间太短了导致WDA还没启动macaca就已经开始去访问8100了,将xctest-clients.js中的yield _.sleep(10000); 的sleep时间增加就可以了,具体看你真机的启动速度,我改成了yield _.sleep(20000); 就是20秒,就可以了,不会碰到此问题了。 xctest-clients.js文件的位置在/usr/local/lib/node_modules/macaca-ios/node_modules/xctest-client/lib/xctest-client.js