headspinio / appium-altunity-plugin

An Appium 2.x plugin for AltUnity Tester. https://headspin.io
Apache License 2.0
29 stars 5 forks source link

get_property('*') returning 500 "Object not found" #10

Open JoseBW opened 1 year ago

JoseBW commented 1 year ago

I've been trying to get get_property to work. Calling it from web_element_instance.get_property("propertyName").

For extra testing I have tried calling with parameters '*' and 'UnityEngine.Transform' to eliminate the possibility of misnaming the property I am trying to fetch (as these are the given examples on the docs).

All three cases return the same server errors. Yet, get_attribute works as expected while being called from the same web_element_instance.

Server Logs for the wildcard call:

 [HTTP] --> GET /session/f3b9e4ca-1c1a-4d00-9463-573f6ef64127/element/unity-element--1694/property/*
[HTTP] {}
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)] Would have proxied command directly, but a plugin exists which might require its value, so will let its value be collected internally and made part of plugin chain
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)] Calling AppiumDriver.getProperty() with args: ["*","unity-element--1694","f3b9e4ca-1c1a-4d00-9463-573f6ef64127"]
[AppiumDriver@0e70] Plugins which can handle cmd 'getProperty': altunity
[AppiumDriver@0e70] Plugin altunity is now handling cmd 'getProperty'
[Plugin [altunity]] Sending message 1689885383698 with command getAllComponents
[debug] [Plugin [altunity]] {"altUnityObjectId":"-1694","commandName":"getAllComponents","messageId":"1689885383698"}
[Plugin [altunity]] Received response for message 1689885383698
[debug] [Plugin [altunity]] {"messageId":"1689885383698","commandName":"getAllComponents","error":{"type":"notFound","message":"Object not found","trace":"  at Altom.AltTester.AltRunner.GetGameObject (System.Int32 objectId) [0x00000] in <00000000000000000000000000000000>:0 \n  at Altom.AltTester.Commands.AltGetAllComponents...
[AppiumDriver@0e70] Command 'getProperty' was *not* handled by the following behaviours or plugins, even though they were registered to handle it: ["default"]. The command *was* handled by these: ["altunity"].
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)] Encountered internal error running command: Error: Object not found
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AltUnityClient._sendCommand (C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\client\index.ts:163:23)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at processTicksAndRejections (node:internal/process/task_queues:95:5)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AltUnityClient.sendSimpleCommand (C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\client\index.ts:171:23)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AltUnityClient.getElementComponents (C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\client\commands\element.ts:10:17)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AltElement.getComponents (C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\client\alt-element.ts:81:16)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\commands\element.ts:97:31
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\commands\element.ts:40:16
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AltUnityPlugin.unityContextGuard (C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\index.ts:144:16)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AltUnityPlugin.unityElementGuard (C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\commands\element.ts:35:12)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AltUnityPlugin.getProperty (C:\Users\usr\.appium\node_modules\appium-altunity-plugin\src\commands\element.ts:89:12)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at C:\Users\usr\.nvm\versions\node\v19.2.0\bin\node_modules\appium\lib\appium.js:734:18
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AppiumDriver.executeWrappedCommand (C:\Users\usr\.nvm\versions\node\v19.2.0\bin\node_modules\appium\lib\appium.js:774:16)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at AppiumDriver.executeCommand (C:\Users\usr\.nvm\versions\node\v19.2.0\bin\node_modules\appium\lib\appium.js:696:17)
[debug] [AndroidUiautomator2Driver@5d5d (f3b9e4ca)]     at asyncHandler (C:\Users\usr\.nvm\versions\node\v19.2.0\bin\node_modules\appium\node_modules\@appium\base-driver\lib\protocol\protocol.js:393:19)
[HTTP] <-- GET /session/f3b9e4ca-1c1a-4d00-9463-573f6ef64127/element/unity-element--1694/property/* 500 81 ms - 697
jlipps commented 1 year ago

Hmm, Object not found seems like an AltUnity error message. I'm planning to update the version of AltUnity used by the plugin here in the next little bit, so maybe that will fix this.