headspinio / appium-roku-driver

A Roku Driver for Appium. https://headspin.io
Other
21 stars 2 forks source link

Error when executing command roku: activeApp #47

Closed kyoushi closed 1 year ago

kyoushi commented 1 year ago

When executing:

await driver.executeScript('roku: activeApp', []);

I get the following error:

 unknown error: An unknown server-side error occurred while processing the command. Original error: this[rokuCommand] is not a function
  at getErrorFromResponseBody (node_modules\webdriver\build\utils.js:198:12)
  at NodeJSRequest._request (node_modules\webdriver\build\request\index.js:166:60)
  at processTicksAndRejections (node:internal/process/task_queues:95:5)
  at Browser.wrapCommandFn (node_modules\@wdio\utils\build\shim.js:137:29)
  at Context.<anonymous> (test\functional\/driver.e2e.spec.js:69:19)
jlipps commented 1 year ago

Please submit your full appium log for further help

kyoushi commented 1 year ago

`PS C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master> npm run test:e2e

@headspinio/appium-roku-driver@2.1.0 test:e2e mocha --timeout 600s --slow 10s "./test/**/driver.e2e.spec.js"

RokuDriver WARN Appium Appium encountered 1 warning while validating drivers found in manifest C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules.cache\appium\extensions.yaml WARN Appium Driver "roku" has 1 potential problem: WARN Appium - Driver "roku" (package @headspinio/appium-roku-driver) has 1 invalid or missing field ("installType") in extensions.yaml; this may cause upgrades done via the appium CLI tool to fail. Please reinstall with appium driver uninstall roku and appium driver install roku to attempt a fix. [Appium] Attempting to load plugin relaxed-caps... [debug] [Appium] Requiring plugin at C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@appium\relaxed-caps-plugin [Appium] Welcome to Appium v2.0.0-beta.46 [Appium] Non-default server args:
[Appium] { [Appium] address: '127.0.0.1',
[Appium] port: 8765, [Appium] usePlugins: 'relaxed-caps' [Appium] } [Appium] Attempting to load driver roku... [debug] [Appium] Requiring driver at C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@headspinio\appium-roku-driver [Appium] Appium REST http interface listener started on 127.0.0.1:8765 [Appium] Available drivers: [Appium] - roku@2.1.0 (automationName 'Roku') [Appium] Available plugins: [Appium] - relaxed-caps@1.0.5 (ACTIVE) [HTTP] --> POST /session [HTTP] {"capabilities":{"alwaysMatch":{"appium:rokuHost":"192.168.0.30","appium:rokuEcpPort":8060,"appium:rokuWebPort":80,"appium:rokuUser":"rokudev","appium:rokuPass":"123456","appium:rokuHeaderHost":"192.168.0.30","appium:keyCooldown":1250,"appium:automationName":"Roku","appium:platformName":"Roku"},"firstMatch":[{}]},"desiredCapabilities":{"appium:rokuHost":"192.168.0.30","appium:rokuEcpPort":8060,"appium:rokuWebPort":80,"appium:rokuUser":"rokudev","appium:rokuPass":"123456","appium:rokuHeaderHost":"192.168.0.30","appium:keyCooldown":1250,"appium:automationName":"Roku","appium:platformName":"Roku"}} [debug] [AppiumDriver@2394] Calling AppiumDriver.createSession() with args: [{"appium:rokuHost":"192.168.0.30","appium:rokuEcpPort":8060,"appium:rokuWebPort":80,"appium:rokuUser":"rokudev","appium:rokuPass":"123456","appium:rokuHeaderHost":"192.168.0.30","appium:keyCooldown":1250,"appium:automationName":"Roku","appium:platformName":"Roku"},null,{"alwaysMatch":{"appium:rokuHost":"192.168.0.30","appium:rokuEcpPort":8060,"appium:rokuWebPort":80,"appium:rokuUser":"rokudev","appium:rokuPass":"123456","appium:rokuHeaderHost":"192.168.0.30","appium:keyCooldown":1250,"appium:automationName":"Roku","appium:platformName":"Roku"},"firstMatch":[{}]}] [AppiumDriver@2394] Plugins which can handle cmd 'createSession': relaxed-caps [AppiumDriver@2394] Plugin relaxed-caps is now handling cmd 'createSession' [BaseDriver] The capabilities ["platformName"] are standard capabilities and do not require "appium:" prefix [Appium] Attempting to find matching driver for automationName 'Roku' and platformName 'Roku' [Appium] The 'roku' driver was installed and matched caps. [Appium] Will require it at C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@headspinio\appium-roku-driver [debug] [Appium] Requiring driver at C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@headspinio\appium-roku-driver [AppiumDriver@2394] Appium v2.0.0-beta.46 creating new RokuDriver (v2.1.0) session [AppiumDriver@2394] Checking BaseDriver versions for Appium and RokuDriver [AppiumDriver@2394] Appium's BaseDriver version is 8.7.3 [AppiumDriver@2394] RokuDriver's BaseDriver version is 8.7.3 [debug] [RokuDriver@a848] Creating session with W3C capabilities: { [debug] [RokuDriver@a848] "alwaysMatch": { [debug] [RokuDriver@a848] "appium:rokuHost": "192.168.0.30", [debug] [RokuDriver@a848] "appium:rokuEcpPort": 8060, [debug] [RokuDriver@a848] "appium:rokuWebPort": 80, [debug] [RokuDriver@a848] "appium:rokuUser": "rokudev", [debug] [RokuDriver@a848] "appium:rokuPass": "123456", [debug] [RokuDriver@a848] "appium:rokuHeaderHost": "192.168.0.30", [debug] [RokuDriver@a848] "appium:keyCooldown": 1250, [debug] [RokuDriver@a848] "appium:automationName": "Roku", [debug] [RokuDriver@a848] "platformName": "Roku" [debug] [RokuDriver@a848] }, [debug] [RokuDriver@a848] "firstMatch": [ [debug] [RokuDriver@a848] {} [debug] [RokuDriver@a848] ] [debug] [RokuDriver@a848] } [RokuDriver@a848 (8e3e6df9)] Session created with session id: 8e3e6df9-185c-408c-a06d-ab958f7b9670 [Roku] Running ECP command: http://192.168.0.30:8060/keypress/Home [AppiumDriver@2394] New RokuDriver session created successfully, session 8e3e6df9-185c-408c-a06d-ab958f7b9670 added to master session list [AppiumDriver@2394] Command 'createSession' was not handled by the following behaviours or plugins, even though they were registered to handle it: ["default"]. The command was handled by these: ["relaxed-caps"]. [AppiumDriver@2394] Promoting 1 sessionless plugins to be attached to session ID 8e3e6df9-185c-408c-a06d-ab958f7b9670 [debug] [RokuDriver@a848 (8e3e6df9)] Cached the protocol value 'W3C' for the new session 8e3e6df9-185c-408c-a06d-ab958f7b9670 [debug] [RokuDriver@a848 (8e3e6df9)] Responding to client with driver.createSession() result: {"capabilities":{"platformName":"Roku","rokuHost":"192.168.0.30","rokuEcpPort":8060,"rokuWebPort":80,"rokuUser":"rokudev","rokuPass":"123456","rokuHeaderHost":"192.168.0.30","keyCooldown":1250,"automationName":"Roku"}} [HTTP] <-- POST /session 200 1412 ms - 280 [HTTP] sessions [HTTP] --> POST /session/8e3e6df9-185c-408c-a06d-ab958f7b9670/execute/sync [HTTP] {"script":"roku: activeApp","args":[]} [debug] [RokuDriver@a848 (8e3e6df9)] Calling AppiumDriver.execute() with args: ["roku: activeApp",[],"8e3e6df9-185c-408c-a06d-ab958f7b9670"] [Roku] Executing Roku command 'roku: activeApp' [debug] [RokuDriver@a848 (8e3e6df9)] Encountered internal error running command: TypeError: this[rokuCommand] is not a function [debug] [RokuDriver@a848 (8e3e6df9)] at RokuDriver.executeRoku (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@headspinio\appium-roku-driver\lib\commands\roku.js:68:43) [debug] [RokuDriver@a848 (8e3e6df9)] at RokuDriver.execute (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@headspinio\appium-roku-driver\lib\commands\roku.js:18:23) [debug] [RokuDriver@a848 (8e3e6df9)] at commandExecutor (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@appium\base-driver\lib\basedriver\driver.js:126:9) [debug] [RokuDriver@a848 (8e3e6df9)] at C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\async-lock\lib\index.js:154:12 [debug] [RokuDriver@a848 (8e3e6df9)] at AsyncLock._promiseTry (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\async-lock\lib\index.js:287:31)
[debug] [RokuDriver@a848 (8e3e6df9)] at exec (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\async-lock\lib\index.js:153:9) [debug] [RokuDriver@a848 (8e3e6df9)] at AsyncLock.acquire (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\async-lock\lib\index.js:170:3) [debug] [RokuDriver@a848 (8e3e6df9)] at RokuDriver.executeCommand (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@appium\base-driver\lib\basedriver\driver.js:142:39) [debug] [RokuDriver@a848 (8e3e6df9)] at processTicksAndRejections (node:internal/process/task_queues:95:5) [debug] [RokuDriver@a848 (8e3e6df9)] at defaultBehavior (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\appium\lib\appium.js:672:14) [debug] [RokuDriver@a848 (8e3e6df9)] at AppiumDriver.executeWrappedCommand (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\appium\lib\appium.js:762:16) [debug] [RokuDriver@a848 (8e3e6df9)] at AppiumDriver.executeCommand (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\appium\lib\appium.js:684:17)
[debug] [RokuDriver@a848 (8e3e6df9)] at asyncHandler (C:\Users\gerardom\Downloads\appium-roku-driver-master\appium-roku-driver-master\node_modules\@appium\base-driver\lib\protocol\protocol.js:346:19) [HTTP] <-- POST /session/8e3e6df9-185c-408c-a06d-ab958f7b9670/execute/sync 500 137 ms - 681 [HTTP] 1) should start a session with no app [HTTP] --> DELETE /session/8e3e6df9-185c-408c-a06d-ab958f7b9670 [HTTP] {} [debug] [RokuDriver@a848 (8e3e6df9)] Calling AppiumDriver.deleteSession() with args: ["8e3e6df9-185c-408c-a06d-ab958f7b9670"] [debug] [AppiumDriver@2394] Event 'quitSessionRequested' logged at 1685579831523 (17:37:11 GMT-0700 (Pacific Daylight Time)) [AppiumDriver@2394] Removing session 8e3e6df9-185c-408c-a06d-ab958f7b9670 from our master session list [Roku] Ending Roku session [Roku] Running ECP command: http://192.168.0.30:8060/keypress/Home [debug] [AppiumDriver@2394] Event 'quitSessionFinished' logged at 1685579832883 (17:37:12 GMT-0700 (Pacific Daylight Time)) [debug] [AppiumDriver@2394] Received response: null [debug] [AppiumDriver@2394] But deleting session, so not returning [debug] [AppiumDriver@2394] Responding to client with driver.deleteSession() result: null [HTTP] <-- DELETE /session/8e3e6df9-185c-408c-a06d-ab958f7b9670 200 1371 ms - 14 [HTTP] [HTTP] Waiting until the server is closed [HTTP] Received server close event

0 passing (9s) 1 failing

1) RokuDriver sessions should start a session with no app: unknown error: An unknown server-side error occurred while processing the command. Original error: this[rokuCommand] is not a function at getErrorFromResponseBody (node_modules\webdriver\build\utils.js:198:12) at NodeJSRequest._request (node_modules\webdriver\build\request\index.js:166:60) at processTicksAndRejections (node:internal/process/task_queues:95:5) at Browser.wrapCommandFn (node_modules\@wdio\utils\build\shim.js:137:29) at Context. (test\functional\/driver.e2e.spec.js:63:7)`

kyoushi commented 1 year ago

wdio.log

2023-06-01T14:41:49.808Z INFO webdriver: Initiate new session using the WebDriver protocol 2023-06-01T14:41:50.015Z INFO webdriver: [POST] http://127.0.0.1:8765/session 2023-06-01T14:41:50.016Z INFO webdriver: DATA { capabilities: { alwaysMatch: { 'appium:rokuHost': '192.168.0.30', 'appium:rokuEcpPort': 8060, 'appium:rokuWebPort': 80, 'appium:rokuUser': 'rokudev', 'appium:rokuPass': '123456', 'appium:rokuHeaderHost': '192.168.0.30', 'appium:keyCooldown': 1250, 'appium:automationName': 'Roku', 'appium:platformName': 'Roku' }, firstMatch: [ {} ] }, desiredCapabilities: { 'appium:rokuHost': '192.168.0.30', 'appium:rokuEcpPort': 8060, 'appium:rokuWebPort': 80, 'appium:rokuUser': 'rokudev', 'appium:rokuPass': '123456', 'appium:rokuHeaderHost': '192.168.0.30', 'appium:keyCooldown': 1250, 'appium:automationName': 'Roku', 'appium:platformName': 'Roku' } } 2023-06-01T14:41:51.526Z INFO webdriver: COMMAND executeScript("roku: activeApp", ) 2023-06-01T14:41:51.527Z INFO webdriver: [POST] http://127.0.0.1:8765/session/912548bc-170b-465a-ab87-f61cdd366491/execute/sync 2023-06-01T14:41:51.527Z INFO webdriver: DATA { script: 'roku: activeApp', args: [] } 2023-06-01T14:41:51.640Z DEBUG webdriver: request failed due to response error: unknown error 2023-06-01T14:41:51.641Z ERROR webdriver: Request failed with status 500 due to unknown error: An unknown server-side error occurred while processing the command. Original error: this[rokuCommand] is not a function 2023-06-01T14:41:51.650Z INFO webdriver: COMMAND deleteSession() 2023-06-01T14:41:51.651Z INFO webdriver: [DELETE] http://127.0.0.1:8765/session/912548bc-170b-465a-ab87-f61cdd366491

jlipps commented 1 year ago

ok fixed in 2.1.1